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

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

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

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

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

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

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

вместо

-- структура.Ключ
?
2. Идальго 130 26.01.20 10:17 Сейчас в теме
(1) Да, не считает. Это не для точного подсчета, а лишь для приблизительного. Вы вольны переделать как вам угодно.
А по поводу главного вопроса - да не знаю, вроде это допустимо)))
3. Nikola23 446 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С
Санкт-Петербург
По совместительству

Программист 1С
Новосибирск
зарплата от 30 000 руб.
Временный (на проект)

Программист 1С
Москва
зарплата от 100 000 руб. до 150 000 руб.
Полный день

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

Специалист внедрения и сопровождения 1С
Москва
зарплата от 80 000 руб.
Полный день