Проект OsEngine открытый и публичный. Так вышло, что многие его части писали разные люди. И дальше будет больше кода, написанного разными людьми.
Разные люди пишут код совершенно по-разному. Если Вы читаете это до того, как стали «крутым» программистом, возможно это звучит странно, но поверьте, всегда есть от 10 до 100 способов справиться с задачей.
Данная серия постов, «стандарты написания кода», призывает всех тех, кто занимается созданием кода в проекте, соблюдать определённые правила.
Но прежде, чем начинать, давайте пройдёмся ещё раз по тому, как именно пишется наш проект. Чтобы Вы понимали, насколько это важно.
Как писалось ядро OsEngine.
Так же, как и у всех остальных подобных проектов, ядро OsEngine создавалось одним человеком.
Ядро это:
Так это и останется. Ядро проекта и большие нововведения – вотчина скромника Алексея Ван. И это абсолютно нормально. СтокШарп, ТсЛаб, Ets Trader – ядра всех этих проектов написаны в основном одним каким-то программистом. И ответственность за ядро лежит всегда на нём. Это не какая-то злонамеренная история. Просто для того, чтобы во всём этом разбираться и одновременно удерживать в голове, человек должен десятилетие быть погруженным в проект.
Поэтому лезть в ядро лучше не стоит вообще.
Лезть в ядро – это не помощь. Править ядро – портить проект и вносить баги.
Это опыт нашего проекта. Я очень много лет хотел найти человека или людей, которые бы могли помогать с ядром. Это не привело ни к чему хорошему.
Кроме того, это и опыт других похожих проектов.
Как пишутся коннекторы и периферия.
А вот здесь уже можно опираться на сообщество.
Периферия:
Всё, что находится в защищённых слоях совместимости, можно и нужно писать сообща. Именно для тех, кто будет работать в них, данные документы.
При этом – люди, работающие над переферией в 80 % случаев «начинающие программисты».
Проблема. Начинающие программисты учатся и экспериментируют над OsEngine
Это ни хорошо и не плохо.
Мы все через это проходили. И это просто констатация факта.
Но это рождает проблему, из-за склонность начинающих программистов усложнять свой код.
Во время изучения различных техник программирования они несут это всё в проект. Новомодный синтаксический сахар, многопоточности, архитектурные «изыски». Это малый перечень того, что начинающий программист обязательно захочет использовать. Но поскольку это «начинающие» программисты – получается у них в многопоточность и изыски плохо. От этого проект страдает.
Поэтому эти правила в основном для них. Помогут регулировать поток их фантазий. Чтобы за лесом из новомодных приёмов, не потерялось главное — СТАБИЛЬНОСТЬ ПРОЕКТА.
Между тем. И я, и другие программисты со стажем тоже должны придерживаться правил которые будут в данной серии постов.
Часть из написанного в разделе стандартов кода многим покажется странным и спорным.
Это так и есть.
Многие вещи спорные. Какие-то вызывают недоумение даже у меня, но мы должны их придерживаться.
Это единственный способ оставлять проект единообразным. Тестируемым. И в конце концов стабильным.
Удачных алгоритмов!
Комментарии открыты для друзей, добавляйтесь!
OsEngine: https://github.com/AlexWan/OsEngine
Поддержка OsEngine: https://t.me/osengine_official_support
Регистрируйся в АЛОР и получай бонусы: https://www.alorbroker.ru/open
Сайт АЛОР БРОКЕР: https://www.alorbroker.ru
Раздел «Для клиентов»: https://www.alorbroker.ru/openinfo/for-clients