0. Идальго 130 25.01.20 14:22 Сейчас в теме

Подсчет числа строк с кодом, с комментариями (и т.п.) в конфигурации

Если вам требуется для вашей конфигурации по-быстрому подсчитать количество строк с кодом, количество строк с объявлением процедур и функций, количество строк с комментариями и т.п., то вы можете использовать предлагаемый код.
Надеюсь, кому-нибудь пригодится.
Тестировалось на платформе 1С:Предприятие 8.3 (8.3.12.1567) на обычных формах.

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. Nikola23 507 26.01.20 10:14 Сейчас в теме
Эта штука не считает строки в которых комментарий после кода.
Многострочный комментарий, вероятно, надо считать как 1, а не как много. Но это зависит от задачи.

А вообще, вопрос главный, почему к полю структуры обращаетесь через

-- структура["Ключ"]

вместо

-- структура.Ключ
?
2. Идальго 130 26.01.20 10:17 Сейчас в теме
(1) Да, не считает. Это не для точного подсчета, а лишь для приблизительного. Вы вольны переделать как вам угодно.
А по поводу главного вопроса - да не знаю, вроде это допустимо)))
3. Nikola23 507 26.01.20 21:27 Сейчас в теме
(2) Допустимо, не спорю.
А зачем? С практической точки - это дает что-то? Я засомневался. Вдруг я чего-то не знаю.
Куча символов и переключение клавиатуры.
4. Идальго 130 26.01.20 21:35 Сейчас в теме
(3) Я привык так. Оно же имена ключей другим цветом делает и мне привычнее писать и читать именно так. Думаю что и нет больше ничего с практической точки зрения.
5. Ndochp 101 28.01.20 10:56 Сейчас в теме
(1) Не автор, но:
1. Единообразная работа со структурами и соответствиями
2. Единообразная работа при динамическом формировании имени ключа
6. Senator_I 13 28.01.20 16:51 Сейчас в теме
Спасибо, пригодилась обработка.
7. DWZ2 28.01.20 22:11 Сейчас в теме
ИначеЕсли ВРег(НачСтроки) = "ФУ" ИЛИ ВРег(НачСтроки) = "ПР" Тогда


А если процедура или функция не с начала строки будут?

И как насчёт переменных с именами на "Фу" или "Пр"? (если вдруг человек без отступов пишет)
8. Идальго 130 29.01.20 00:03 Сейчас в теме
(7) Ну там же есть код, из которого совершенно ясно что будет. Кроме того, вы можете запустить код и проверить))) Можете даже переделать парсинг под себя.
Повторюсь, это не супер точный подчет (хотя для прикидки вполне годится) и кроме того, обычно, в одной строке делают не больше одного объявления, которое после СокрЛП() попадет под приведенное условие.
9. DWZ2 29.01.20 09:55 Сейчас в теме
(8)
Ну там же есть код, из которого совершенно ясно что будет. Кроме того, вы можете запустить код и проверить)))


Вопрос риторический.


(8)
Можете даже переделать парсинг под себя.


Мне-то зачем? Я, хвала Всевышнему, пока ещё способен написать подобную программу с нуля. Просто, по крайней мере раньше, было принято выкладывать программы "под ключ".

(8)
в одной строке делают не больше одного объявления


Ох, напишет какой-нибудь умник код в одну строчку, как некоторые на JavaScript, тогда ";" считать и парсить придётся.
14. DrAku1a 1313 06.02.20 17:52 Сейчас в теме
(7)Верно подмечено.
ИначеЕсли ВРег(НачСтроки) = "ФУ" и ВРег(Лев(СтрЗаменить(СокрЛП(Стр), Символы.Таб, " "), 8))="ФУНКЦИЯ " Тогда
МойРезультат["СчОбъявленийПроцедурФункций"] = МойРезультат["СчОбъявленийПроцедурФункций"] + 1;
и аналогично для процедур... т.к. 1С выполняет проверку второй части условия только при истинности первой части - то второе условие не будет проверяться на каждой строке текста.
10. ico 31.01.20 08:26 Сейчас в теме
Скажите, а какое практическое применение могут получить данные подсчеты комментариев и некомментариев?
Это для какого-то особенного начисления ЗП кодеру или для чего-то более привлекательного?
11. Идальго 130 31.01.20 09:16 Сейчас в теме
(10) Ахха нет, я думаю, что считать ЗП кодерам по количеству строк это какая-то сказочная дикость. Но, может кто-то именно так и делает))) Моё мнение, что количество строк кода д.б. наоборот минимальным, но не в ущерб ясности и производительности.

Количество или доля строк с комментариями может характеризовать качество кода. Многие считают, что "хороший" код должен не иметь комментарив вообще, или иметь только минимальное их количество (т.к. "хороший код д.б. ясным и без комментариев"). Примерно тоже самое со строками объявлений процедур и функций - можно рассчитать сколько в среднем в них кодовых строк. Многиими считается, что кодовых строк в них не д.б. очень много, дабы читалось удобно.
Вот таких вот "практических" оценок чистоты кода можно много придумать)))

Я же использовал этот подсчет строк для презентации, в которой показывал темпы роста кодовой базы в одном из своих проектов.
12. lmnlmn 58 31.01.20 09:24 Сейчас в теме
(11) Для автоматизированного управления качеством кода уже давно есть системы которые этот код не считают а анализируют. На Инфостарте есть публикации по SonarCube в частности. Хотя, да, я сам люблю смотреть на меняющиеся в интересную для меня сторону циферки))
13. Идальго 130 31.01.20 09:58 Сейчас в теме
15. DWZ2 07.02.20 10:35 Сейчас в теме
(11)
Ахха нет, я думаю, что считать ЗП кодерам по количеству строк это какая-то сказочная дикость. Но, может кто-то именно так и делает)))


Был случай, когда программистам начисляли зарплату наравне с чертёжниками, то есть по числу листов формата А4 с кодом.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Ведущий программист 1С
Санкт-Петербург
зарплата от 130 000 руб.
Полный день

Специалист 1 категории (Программист 1С ФЗД)
Фрязино
зарплата от 110 000 руб.
Полный день

Специалист 1 категории (Программист 1С)
Фрязино
зарплата от 110 000 руб.
Полный день

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

Специалист 1 категории (Методист-аналитик 1С)
Фрязино
зарплата от 100 000 руб.
Полный день