Форум программистов, компьютерный форум, киберфорум
Etyuhibosecyu
Войти
Регистрация
Восстановить пароль

Ломающие изменения в C#.NStar Alpha

Запись от Etyuhibosecyu размещена 20.11.2025 в 09:37
Показов 6636 Комментарии 0

Уже можно не только тестировать, но и пользоваться C#.NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом языке и уже содержит изображения и разворачивается на весь экран. Да, язык пока не ООП, так как нет полиморфизма, но над этим идет активная работа. И я решил, что с полиморфизмом, использованием перечислений, а также с файлами и потоками это будет уже версия Alpha, а не Pre-Alpha, возможно, даже раньше, чем Alpha-версия Lineedge. А значит, как раз время серьезно задуматься над руководством по стилю кода, чтобы не писали кто как хочет. Кроме того, пока C#.NStar не вошел в стадию "живет с наследием", поэтому нет ограничений на ломающие изменения, а вот в C#.NStar Beta они уже, вероятно, появятся. Поэтому я ввожу систему крахов, ошибок и предупреждений при обнаружении очевидно неприемлемых паттернов в коде.

Крахи


- Более 5 отступов.
- Более 5 подавленных отступов.
- Функция короче 3 содержательных действий - пустые строки, переносы, пустые блоки, объявления неиспользуемых переменных и копирование переменных (var y = x;, если y больше нигде не присваивается значение) содержательными действиями не считаются (отключается директивой #pragma test, которая также отключает публичные объявления). Для объявления коротких действий, таких как Max(), будет новая конструкция, но подробнее - пока секрет.
- Рекурсивная функция без нового ключевого слова recursive.

Ошибки


- Две пустых строки подряд.
- Неуместная пустая строка (например, рядом с фигурной скобкой или в середине выражения).
- Два пробела подряд (для отступов используйте табуляцию).

Предупреждения


- Хотя бы один подавленный отступ.
- Строка длиннее 128 символов (отступ считается за 4 символа).
- Функция длиннее 128 строк.
- Функция содержит прямую и косвенную рекурсию одновременно (даже с ключевым словом recursive).
- Имя любой конструкции из одного символа, кроме i, j, k, n, T, x, y, z и собственных операторов языка и фундаментальных констант, таких как E (отключается директивой #pragma test).
- Имя любой конструкции из множества одинаковых символов (отключается директивой #pragma test).
- Класс, объявленный со словом Class, содержащий более 16 функций. В качестве альтернативы - новое ключевое слово Megaclass, автоматически делающее класс статическим.
- Класс, объявленный со словом Megaclass, содержащий менее 8 функций.
- Программа, содержащая более 8 классов. В будущем слово "программа" будет заменено на "сборка".
- Точка с запятой в середине строки (цикл for в моем языке ее не содержит).
- Имя типа, функции, метода, свойства, кроме приватных и/или защищенных, лямбда-выражения, списка или словаря лямбда-выражений, начинающееся со строчной буквы.
- Три и более уровней вложенных типов.
Надеюсь, я сам смогу следовать этим правилам при написании транслятора C#.NStar на этом же языке.
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 0
Комментарии
 
Новые блоги и статьи
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1 У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\ А в самом низу файла-профиля. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru