Мне как-то приходила мысль посчитать количество строк кода в проекте, но простого и корректного способа я не нашёл, а вручную всё это пересчитывать я посчитал бессмысленной тратой времени, тем более, что интерес был чисто теоретическим, практического смысла в знании числа строк кода я не нашёл.
Serge78rus, я ничего не имею против вашего желания подсчитать количество строк в проекте, но если уж это делать, то нельзя игнорировать JavaScript, Processing и CSS код, ведь это (навскидку) две трети кода.
Конечно остановится, но для решения этой проблемы и предназначены вышеуказанные методы. Сам механизм корректной отработки перехода через «0» для всех «шестерёнок» системы — это тема отдельной статьи.
Что ещё нужно учитывать при подсчёте строк кода АМС: я думаю имеет смысл включить в подсчёт и файлы CSS, поскольку это тоже код, который требует усилий по написанию и поддержке.
Также нужно учитывать следующий момент. Codestyle AMS исповедует немного нестандартный подход, а именно, табличное форматирование и упаковку кода, поэтому многие его фрагменты, если их привести к стандартному виду, станут занимать на порядок большее количество строк.
Затрудняюсь оценить ваш метод подсчёта и что понимается под «эффективными строками», я имел в виду количество строк кода во всех файлах системы. Но сразу бросается в глаза, что при подсчёте вы проигнорировали (если я правильно понял) весь JavaScript и Processing код, содержащийся в htm и pde файлах (в разных папках).
Так делать нельзя — АМС это распределённая система контроллер-браузер и обе части системы равноценны и представляют собой одно целое. Если посчитаете все строки кода в проекте — то все скажут вам спасибо, по крайней мере будем знать сколько их (и желательно считать не «эффективное» значение, а реальное).
Что касается библиотек, то в идеальном мире так и нужно сделать, а ещё лучше написать свои собственные библиотеки, но в реальном мире на это банально не хватает ресурсов.
Именно такую точку зрения я высказал в статье — если телескоп корректно выполняет свои функции, то не имеет абсолютно никакого значения, что там крутится внутри его контроллера. А со статьёй как заработать миллион долларов на Ардуино не затягивайте — мы уже устали ждать пока кто-нибудь поделится столь важной информацией :)
Вот, честно, не считал количество строк кода в дистрибутиве АМС, наверное это суммарно не одна сотня тысяч, а уж на аудит десятка библиотек, используемых в проекте, никаких сил не хватит — для этого нужно создавать специальный отдел. И конечно библиотеки содержат не всегда идеальный код — в этом нет никаких сомнений.
Честно, не очень понял ваш посыл и в своё оправдание могу сказать только то, что АМС работает корректно на десятке платформ от Меги до ESP32 и скачан с сайта более 20 000 раз.
Вы абсолютно правы — код писался с чисто утилитарной точки зрения, чтобы корректно выполнялись требуемые функции и там огромное поле для улучшений и приведения кода к лучшим практикам.
АМС-у как проекту уже больше двух лет и на протяжении всех этих лет в нём присутствует этот интерфейс. :) Кстати, в стандартной поставке присутствуют также честные интерактивные 3D сцены и т. н. «плиточный» интерфейс а ля Windows 10 для любителей.
Да, вы правы, на Ардуино есть множество мелких, но неприятных проблем и тем, кто плотно с ней работает с ними приходится сталкиваться и по возможности как-то решать. А по поводу ваших ссылок — спасибо, надо будет чуть позже повнимательнее почитать.
В статье речь идёт не о том, что студентов МИРЭА нужно учить Ардуино, а о том, что на Ардуино, на самом деле, можно строить развитые многозадачные системы.
Также нужно учитывать следующий момент. Codestyle AMS исповедует немного нестандартный подход, а именно, табличное форматирование и упаковку кода, поэтому многие его фрагменты, если их привести к стандартному виду, станут занимать на порядок большее количество строк.
Так делать нельзя — АМС это распределённая система контроллер-браузер и обе части системы равноценны и представляют собой одно целое. Если посчитаете все строки кода в проекте — то все скажут вам спасибо, по крайней мере будем знать сколько их (и желательно считать не «эффективное» значение, а реальное).
Что касается библиотек, то в идеальном мире так и нужно сделать, а ещё лучше написать свои собственные библиотеки, но в реальном мире на это банально не хватает ресурсов.