Skip to content

Commit bc51fd4

Browse files
authored
Merge pull request #207 from Infarh/dev
v0.0.15 - Миграция на .NET10 + комментарии в коде и описания
2 parents a614830 + fe1df8a commit bc51fd4

File tree

76 files changed

+3685
-653
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+3685
-653
lines changed

.github/copilot-instructions.md

Lines changed: 70 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,70 @@
1-
Всегда отвечай мне используя русский язык.
2-
Всегда пиши комментарии в коде на русском языке.
3-
Комментарии к классам, структурам делегатам и перечислениям, а также к их членам всегда пиши в системном виде.
4-
При написании комментариев (ели они короткие) в коде предпочитай размещение комментария в конце той же строке, что и сам комментируемый код.
5-
Старайся избегать тривиальных комментариев.
6-
При герерации кода старайся минимизировать количество фигурных скобок.
7-
При генерации кода используй самые современные виды синтаксических конструкций языка.
8-
Всегда старайся минимизировтаь размер кода если не запрошено иное.
9-
Используй стиль именования локальных переменных snake_case.
10-
Используй стиль именования входных переменных методов PascalCase.
11-
Используй стиль именования полей классов _PascalCase для нестатических переменных и __PascalCase для статических переменных.
12-
Ппредпочитай английский язык при именовании переменных, методов, классов и прочих сущностей.
13-
При инициализации массивов, списков и словарей используй выражения инициализации массивов.
14-
При объявлении переменных предпочитай использовать ключевое слово var.
15-
При написании системных комментариев старайся писать их компактно в одну строку, если длина текста небольшая.
1+
# Правила для GitHub Copilot
2+
3+
- Всегда отвечай, используя русский язык
4+
- Всегда пиши комментарии в коде на русском языке
5+
6+
## Комментарии
7+
- Короткие пояснительные комментарии располагай в конце той же строки, что и код // кратко по делу
8+
- Старайся избегать тривиальных комментариев
9+
10+
## XML‑документация
11+
- Документируй классы, структуры, делегаты, перечисления и их члены только XML‑комментариями
12+
- Одинарное предложение пиши в одной строке внутри тега и без точки в конце
13+
- Каждый тег XML‑комментария располагай на отдельной строке
14+
- Порядок тегов: `<summary>``<param>``<returns>``<exception>``<remarks>``<example>`
15+
- Для сложных публичных метдов генерируй блок с простым примером использования кода внутри тега `<example>`
16+
17+
Примеры:
18+
- `<summary>Краткое описание сущности</summary>`
19+
- `<param name="Value">Описание параметра</param>`
20+
- `<returns>Описание возвращаемого значения</returns>`
21+
22+
## Синтаксис и минимализм
23+
- При генерации кода используй современные конструкции языка, совместимые с целевыми платформами проекта
24+
- Стремись минимизировать количество фигурных скобок за счёт expression‑bodied членов и switch‑выражений
25+
- Не убирай фигурные скобки в многострочных конструкциях ради читаемости
26+
- Всегда старайся минимизировать размер кода, если не запрошено иное
27+
28+
Разрешённые современные приёмы (когда поддерживается целевой платформой):
29+
- file‑scoped namespace
30+
- expression‑bodied члены
31+
- switch‑выражения и pattern matching
32+
- target‑typed `new`
33+
- collection expressions и инициализаторы коллекций
34+
- `using var` и `await using`
35+
- операторы `??`, `??=`, `is not`, `with`
36+
- упрощение nullable-присвоения `target?.Property = 15;` вместо `if(target is not null) target.Property = 15;`
37+
38+
## Именование
39+
- Локальные переменные: `snake_case`
40+
- Параметры методов: `PascalCase`
41+
- Поля экземпляров: `_PascalCase`
42+
- Статические поля: `__PascalCase`
43+
- Константы: `PascalCase`
44+
- Публичные типы и члены API: `PascalCase`
45+
- Предпочитай английский язык при именовании переменных, методов, классов и прочих сущностей
46+
47+
## Инициализация и объявления
48+
- При инициализации массивов, списков и словарей используй выражения инициализации массивов/коллекций
49+
- При объявлении переменных предпочитай использовать ключевое слово `var` (кроме случаев, когда явный тип заметно повышает понятность)
50+
51+
## Форматирование
52+
- Короткие системные комментарии пиши компактно в одну строку
53+
- Удаляй неиспользуемые `using`, сортируй и группируй директивы `using`
54+
- Разделяй логические блоки пустыми строками по мере необходимости, избегай лишних переносов
55+
56+
## Практики .NET
57+
- Включай `#nullable enable` там, где это поддерживается
58+
- Используй guard‑выражения, например `ArgumentNullException.ThrowIfNull(x)`
59+
- Предпочитай Try‑паттерны для контроля потока вместо исключений
60+
- При генерации метода добавляй в его начале блок проверки входных параметров. Отделяй этот блок пустой строкой от остального тела метода
61+
- При генерации публичных свойств у моделей-представления MVVM (классов, реализующих INotifyPropertyChanged) используй следующий формат (в одну строку):
62+
```csharp
63+
/// <summary>Описание свойства</summary>
64+
public string PropertyName { get; set => Set(ref field, value); }
65+
```
66+
- Для простых лаконичных методов используй expression‑bodied синтаксис, записанный в одну строку.
67+
68+
## Совместимость целей
69+
- В рабочем пространстве используются целевые платформы: `.NET Standard 2.0` и `.NET 10`
70+
- Применяй современные возможности языка и платформы только если они доступны для соответствующей целевой платформы проекта

.github/workflows/publish.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ jobs:
2929
- name: Setup .NET
3030
uses: actions/setup-dotnet@v4
3131
with:
32-
dotnet-version: 9.0.x
32+
dotnet-version: 10.0.x
3333

3434
- name: Cache NuGet
3535
uses: actions/cache@v4

.github/workflows/testing.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
- name: Setup .NET
2929
uses: actions/setup-dotnet@v4
3030
with:
31-
dotnet-version: 9.0.x
31+
dotnet-version: 10.0.x
3232

3333
- name: Cache NuGet
3434
uses: actions/cache@v4

MathCore.DSP.sln.DotSettings

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,14 @@
55
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=UnusedType_002EGlobal/@EntryIndexedValue">DO_NOT_SHOW</s:String>
66
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=DSP/@EntryIndexedValue">DSP</s:String>
77
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=FFT/@EntryIndexedValue">FFT</s:String>
8+
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=FIR/@EntryIndexedValue">FIR</s:String>
89
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=FT/@EntryIndexedValue">FT</s:String>
910
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=II/@EntryIndexedValue">II</s:String>
11+
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=IIR/@EntryIndexedValue">IIR</s:String>
1012
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=PNG/@EntryIndexedValue">PNG</s:String>
1113
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=RC/@EntryIndexedValue">RC</s:String>
14+
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=RLC/@EntryIndexedValue">RLC</s:String>
15+
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=SI/@EntryIndexedValue">SI</s:String>
1216
<s:Boolean x:Key="/Default/UserDictionary/Words/=ALGLIB/@EntryIndexedValue">True</s:Boolean>
1317
<s:Boolean x:Key="/Default/UserDictionary/Words/=arcch/@EntryIndexedValue">True</s:Boolean>
1418
<s:Boolean x:Key="/Default/UserDictionary/Words/=arcsh/@EntryIndexedValue">True</s:Boolean>
@@ -35,4 +39,6 @@
3539
<s:Boolean x:Key="/Default/UserDictionary/Words/=_0422_044C_044E_043A_0438/@EntryIndexedValue">True</s:Boolean>
3640
<s:Boolean x:Key="/Default/UserDictionary/Words/=_0430_043D_0430_043B_043E_0433_0432_043E_0433_043E/@EntryIndexedValue">True</s:Boolean>
3741
<s:Boolean x:Key="/Default/UserDictionary/Words/=_0434_0438_0441_043A_0440_0435_0442/@EntryIndexedValue">True</s:Boolean>
38-
<s:Boolean x:Key="/Default/UserDictionary/Words/=_043A_0435_0448_0438_0440_043E_0432_0430_043D_0438_0435_043C/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>
42+
<s:Boolean x:Key="/Default/UserDictionary/Words/=_043A_0435_0448_0438_0440_043E_0432_0430_043D_0438_0435_043C/@EntryIndexedValue">True</s:Boolean>
43+
<s:Boolean x:Key="/Default/UserDictionary/Words/=_043F_0435_0440_0435_0447_0441_0438_0442_044B_0432_0430_0435_043C/@EntryIndexedValue">True</s:Boolean>
44+
<s:Boolean x:Key="/Default/UserDictionary/Words/=_043F_043E_043B_043E_0441_043E_0437_0430_0433_0440_0430_0436_0434_0430_044E_0449_0435_0433_043E/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>

0 commit comments

Comments
 (0)