Подсчет строк кода

19.01.10

Разработка - Инструментарий разработчика

Количество строк кода (англ. Source Lines of Code — SLOC) — это метрика программного обеспечения, используемая для измерения его объёма с помощью подсчёта количества строк в тексте исходного кода. Как правило, этот показатель используется для прогноза трудозатрат на разработку конкретной программы, либо для оценки производительности труда уже после того, как она написана.

Скачать файлы

Наименование Файл Версия Размер
Обработка
.epf 7,52Kb
114
.epf 7,52Kb 114 Скачать

Подробнее о количестве строк кода

Простенькая обработка для подсчета строк в проекте. Специалист ее напишет за 10-30 минут максимум, но бывает что даже этого времени нет...

Для использования необходимо

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

2) Натравить на каталог эту обработку

См. также

SALE! 20%

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

13000 10400 руб.

02.09.2020    121614    670    389    

711

SALE! 25%

Infostart PrintWizard

Пакетная печать Печатные формы Инструментарий разработчика Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

18000 15300 руб.

06.10.2023    7262    21    6    

39

SALE! 20%

Infostart УДиФ: Управление данными и формами

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

10000 8000 руб.

10.11.2023    3507    11    1    

33

SALE! 30%

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

3600 2520 руб.

14.01.2013    177728    1073    0    

849

Многопоточность. Универсальный «Менеджер потоков» 2.1

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    99339    239    97    

296

[ЕХТ] Фреймворк для Расширений 1С

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Платные (руб)

"Фреймворк для Расширений 1С" это универсальное и многофункциональное решение, упрощающее разработку и поддержку создаваемых Расширений. Поставляется в виде комплекта из нескольких Расширений с открытым исходным кодом. Работает в любых Конфигурациях в режиме Управляемого приложения с режимом совместимости 8.3.12 и выше без необходимости внесения изменений в Конфигурацию.

3000 руб.

27.08.2019    18102    6    8    

39

1С HTML Шаблоны / HTML Templates

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Быстрая и удобная обработка для работы с шаблонами HTML. Позволяет легко и быстро формировать код HTML.

2040 руб.

27.12.2017    28096    3    10    

15

Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)

Инструментарий разработчика Обмен между базами 1C Платформа 1С v8.3 Платные (руб)

В процессе работы в 1С часто возникает потребность получить данные из другой базы.  Обычно это делается через COM-соединение, и время выполнения запроса при этом оставляет желать лучшего. В данной публикации представлено универсальное решение, позволяющее практически моментально выполнить произвольный код или запрос с параметрами в другой информационной базе через Web-сервис.

2400 руб.

24.09.2019    23596    15    15    

32
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. tango 506 19.01.10 10:37 Сейчас в теме
автоматизация белой горячки, -
3. Stepa86 1521 19.01.10 10:42 Сейчас в теме
(1) и где тут автоматизация? или ты считаешь, что совершенно не обязательно знать объем проекта???
2. dolter 119 19.01.10 10:42 Сейчас в теме
старался человек, однако... оформил красиво... :-)
5. Stepa86 1521 19.01.10 10:54 Сейчас в теме
(4) вообще то не предполагалось привязывать количество строк кода к эффективности работы программистов, есть много примеров, когда один прогер одной строчкой сделал качественнее решение, чем второй 1000ей

и вообще: "Эксперименты многократно подтвердили тот факт, что данная метрика хорошо коррелирует с трудозатратами — программы с большим количеством строк кода требуют больше времени на разработку." из ссылки в топике
7. tango 506 19.01.10 11:16 Сейчас в теме
(5)
"и вообще:"
http://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D1%82%D0­%B2%D0%BE_%D1%81%D1%82%D1%80%D0%BE%D0%BA_%D0%BA%D0%BE%D0%B4%­D0%B0
[источник не указан 243 дня]

"вообще то не предполагалось"
пачка перфокарт, составляющая программу, обладала вполне видимым объёмом, по которому менеджеры могли судить о производительности работы программистов
8. Stepa86 1521 19.01.10 11:25 Сейчас в теме
(7) такое ощущение, что это Ваша больная тема... в общем спорить не буду, я создал простенький инструмент, мне он был полезен, решил поделится... пусть каждый сам решает как им пользоваться 8-)
10. tango 506 19.01.10 11:45 Сейчас в теме
(8) слив защитан. нелюбовь к тупому менеджменту - тяжелое наследие франчайзевой юности.
(9) +
6. tango 506 19.01.10 11:04 Сейчас в теме
Разработчики очень сообразительны в этом отношении. Что бы вы ни пытались измерить, они найдут способ оптимизировать этот показатель, и вы никогда не получите именно то, чего пытаетесь добиться.

Роберт Остин (Robert Austin) в своей книге "Измерение и управление производительностью в организациях" (Measuring and Managing Performance in Organizations) пишет, что существует два этапа внедрения новой метрики для измерения производительности. Сначала вы получаете то, что хотели, потому что никто пока не понял, как обмануть систему. На втором этапе вы получаете нечто худшее, чем то, с чего начинали, потому что все будут обманывать систему, чтобы максимизировать измеряемый показатель, даже рискуя погубить компанию.

Хуже того, менеджеры, использующие экономическую мотивацию, думают, что они смогут избежать такой ситуации, просто улучшая метрики. Доктор Остин заключает, что вы не можете этого сделать. Это никогда не срабатывает. Не важно, как сильно вы стараетесь адаптировать метрики к тому, что вы хотите достигнуть, это всегда срабатывает против вас.

Самая большая проблема с управлением методом экономической мотивации, однако, в том, что это вообще не управление: это больше похоже на отречение от управления. Добровольный отказ от попытки понять, как можно сделать ситуацию лучше. Это признак того, что руководство просто не знает, как научить людей лучше работать, так что оно вынуждено заставлять сотрудников самих придумывать, как улучшить ситуацию.

http://local.joelonsoftware.com/wiki/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_%D1%8D%D0%BA%D0%BE%D­0%BD%D0%BE%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B9_%­D0%BC%D0%BE%D1%82%D0%B8%D0%B2%D0%B0%D1%86%D0%B8%D0%B8
18. marsohod 123 19.01.10 22:57 Сейчас в теме
"Не бывает измерений никак не влияющих на измеряемую систему."
(с) Гейзенберг В.
:D это по поводу ссылки в (6)
Ziggurat; +1 Ответить
9. Трактор 1246 19.01.10 11:28 Сейчас в теме
Слишком сложно. Меня как-то попросили посчитать количество строк кода в конфигурации. Я задал поиск во всех текстах точки с запятой. Через 15 минут дал ответ. Всё.

Кстати, в результате моей деятельности количество строк кода в конфигурации иногда уменьшается.
_Vovik; mtv:); Поручик; tango; +4 Ответить
11. Stepa86 1521 19.01.10 11:54 Сейчас в теме
(9) еще раз говорю, это не оценка производительности программиста, а оценка проекта... Ничо, что точка с запятой далеко не в каждой строчке используется?
12. Трактор 1246 19.01.10 12:12 Сейчас в теме
(11) >> еще раз говорю, это не оценка производительности программиста, а оценка проекта.
Вот как раз и посчитали примерный размер проекта.

>> Ничо, что точка с запятой далеко не в каждой строчке используется?
В таком случае как ты отличаешь конструкцию
Если Петрович = Вор Тогда

СообщениеНачальству = "Петрович занимается приписьками и с этим ничего сделать не получится"

Иначе

СообщениеНачальству = "Петрович знатный работник"

КонецЕсли;
Показать

От кода
СообщениеНачальству = ?(Петрович = Вор, "Петрович занимается приписьками и с этим ничего сделать не получится", "Петрович знатный работник");

Подсчётом точек с запятой эти два фрагмента дадут один результат. Подсчётом количество строк ты в первом случае получишь 9 строк, а во втором одну строку. А функционально куски одинаковы.
Как мыслишь решать проблему? И надо ли её решать?

tango абсолютно прав говоря что подсчёт строк кода это очень условный показатель, который может сработать только раз.
Я подозреваю что 1Сники в типовых конфах специально вставляют пустые строки чтобы увеличить количество строк. Ибо читаемость кода от этого ухудшается.
13. Stepa86 1521 19.01.10 12:22 Сейчас в теме
(12) в твоем примере в первом коде 0 точек с запятой, во втором 1, а, нет увидел... вот тока в первом фрагменте я б 3 точки с запятой поставил

Пустые строки очень хороший инструмент для разграничения функциональных блоков в коде, я считаю, что без них читать код в разы сложнее.

если я буду планировать новый проект, то могу примерно оценить трудозатраты, оценив метрики предыдущих проектов. ни о каком показателе типа "ты написал в этом месяце меньше нормы на 100 строк, премию не получишь" речи тут не идет! Мне, например, просто нравится оценивать количество строк текущего проекта раз в месяц и сравнивать с другими моими проектами...
14. Трактор 1246 19.01.10 12:31 Сейчас в теме
(13) >> в твоем примере в первом коде 0 точек с запятой, во втором 1
В обоих по одной строке. В первом фрагменте точка с запятой стоит после КонецЕсли

>> Пустые строки очень хороший инструмент
Всё хорошее хорошо в меру, а не как в некоторых типовых конфах.

Однако любой метод даёт лишь приблизительное представление о сложности. Например алгоритм рисования круга в 10 строк в институте разбирается две пары. И это правильно.

Мы поняли друг друга и это хорошо.
Удачи ;-)
15. tango 506 19.01.10 17:21 Сейчас в теме
(13) "оценить трудозатраты"
ну дык...
Софтверные компании обычно премируют программистов которые (a) пишут много кода и (b) исправляют много багов. Лучший способ продвинуться в такой организации — это писать как можно больше неряшливого кода и потом исправлять все эти ошибки, вместо того, чтобы потратить время и в первую очередь подумать, как сделать грамотно. Если вы попробуете исправить эту проблему с помощью штрафа за баги, то вы создадите повод скрывать баги, или не говорить тестерам о только что написанном коде в надежде на то, что найденных багов будет меньше. Таким образом выиграть нельзя.

http://local.joelonsoftware.com/wiki/%D0%98%D0%B7%D0%BC%D0%B5%D1%80%D0%B5%D0%BD%D0%B8%D1­%8F_%D0%BF%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%82%D0%B8%D0%B2%D­0%BD%D0%BE%D1%81%D1%82%D0%B8
16. Stepa86 1521 19.01.10 17:30 Сейчас в теме
(15) опять про мотивацию и эффективность? Предлагаю Вам создать отдельную статью на тему противостояния менеджмента и простых программистов...
17. Душелов 4013 19.01.10 20:59 Сейчас в теме
А.... Тема про "индийский код"...
Ну-ну :)
19. tango 506 20.01.10 09:24 Сейчас в теме
нет, правда никак не въеду.
чел оценивает трудозатраты, но упорно отнекивается от оценки производительности...
Это как?
21. Stepa86 1521 20.01.10 09:49 Сейчас в теме
(19) глупо оценивать производительность по количеству кода, поэтому и отнекиваюсь, а в целом проект оценить можно...
20. CrazyBear 33 20.01.10 09:29 Сейчас в теме
А можно добавить отбор по комментариям например "//+"?
22. Ivon 673 20.01.10 10:20 Сейчас в теме
Я вообще считаю, что нельзя оценивать работу программиста по количеству строк кода. Это вредно для самой программы. Например, 1-й программист пишет код сразу после получения задания и выдает прогу в 1000 строк кода, который жутко не оптимизирован, при этом 2-й вначале хорошо подумает и осмыслит структуру программы и напишет 100 строк оптимизированного кода, при том, что программы будут выполнять одно и то же. Одна из моих программ в былое время претерпела 2 таких оптимизации, при этом стала быстрее работать, а количество строк кода уменьшилось раз в 15.
23. SiAl 76 20.01.10 10:34 Сейчас в теме
Не вижу пользы. Но минус пока ставить не могу. Производительность мало связана с количеством кода. Например то, что например в семерке требовалось кодировать, то в восьмерке рализвано на уровне платформы, а в 8.2 и того более - "управляемое приложение". Кодирование идет на уровне глобальных процедур и функций, их можно "просчитать" и в Конфигураторе.
Если для групповой работы, то обычно за свою подсистему - отдельный спец отвечает. Как эта обработка отслеживает подсистемы?
24. Stepa86 1521 20.01.10 10:39 Сейчас в теме
(23) на вторую картинку внимательно посмотри
25. SiAl 76 20.01.10 11:12 Сейчас в теме
(24) Да ну. Может стоит тогда выгружать всё, а в таблице группировать количество строк по подсистемам. Но, повторюсь, что количество строк для писателей - оценка их труда, но никак не программистов. Внедренец вообще может не менять код, а результат - есть: довольный клиент.
26. Stepa86 1521 20.01.10 11:27 Сейчас в теме
(25) не вижу смысла потратить кучу времени на бесполезные фишечки, которые и так легко обходятся.

Нужно было подсчитать колво строк в проекте, я написал инструмент за 15 минут, выложил его для тех, кому он может быть пригодится, а тут срач начался по поводу производительности и эффективности...
28. SiAl 76 20.01.10 11:51 Сейчас в теме
(26) Конструктивней надо быть. В каждом сраче выкристализовывается много новых идей.
27. Asis 20.01.10 11:31 Сейчас в теме
Хорошо бы еще задавать параметры типа "учитывать пустые строки" и т.п.
29. vovan519 276 20.01.10 12:28 Сейчас в теме
Не понимаю, зачем нападать на автора. Он несколько раз сказал, что это подсчет строчек кода, а не расчет производительности.
Кстати, так же глупо измерять производительность в потраченном времени. По тем же причинам (возможность влиять на показатели). Но большинство ежедневно совершают эту глупость.
Оценивать трудозатраты можно по разному. Могу предложить десяток вариантов. Для кого может такой оценкой является количество выкуренных сигарет. Но это не важно.
Если программист запланировал получить за выполненную работу N рублей, он постарается ее получить. В свою очередь работодатель хочет заплатить не больше M рублей. Если N <> M люди торгуются, вот и вся хитрость.
Но есть несколько "но".
1) И тому и другому необходима начальная сумма от которой нужно начать торговаться.
2) Работодатель хочет знать порядок сумм (т.е количество ноликов) при расчете до начала работы.
Не хочу описывать все "но", только во всех случаях нужна, пусть косвенная, пусть не точная, но оценка. Большинство из вас имеет образование связанное с математикой. Есть куча мат. методов где результат получается рекурсивными методами, постоянно уменьшая погрешность. Так считайте "количество строк кода", "количество часов" или "количество выкуренных сигарет" первым приближением этой задачи. Это первое приближение может изменится в результате как в одну, так и в другую сторону. Но это уже отдельный разговор.
Anything; Stepa86; +2 Ответить
30. iov 406 20.01.10 12:50 Сейчас в теме
Любопытно. ВОт интересный показатель. Подрабатываю фрилансом на Абоненской плате (определенное количество часов) так вот поставил условие что я не озвучиваю стоимость разработок но говору примерно сколько это часов (включая обучение нововведениям) А вот поддержка (исправления переписка и иное где мог ошибится - бесплатно) (изменение функционала по просьбе заказчика не в счет). Итак я теперь трачу больше времени но чем меньше я ошибаюсь и точнее и понятнее обучаю тем меньше трачу свое время. как результат могу просто приходить порой за оплатой. Мотивацией работы должно быть именно желание писать хороший код. В человеке заложено желание меньше работать и больше получать. А менеджеров учат добиваться обратного. НО формула КАЧЕСТВО = (ВРЕМЯ* УМЕНИЯ*МОТИВАЦИЯ)/затраты на исправление ошибок (*сильно упрощено) работает и мы можем лишь изменять некоторые показатели замещать другими но результат один.
Пример наш любимый apple (традиционное качество) НО ка только попадается партия хреново зделанного рейтинг (читай качество) резко падает потому как востановление репутации - ремонт- отзыв продукции
это огромные вложения.
С другой стороны АК (автомат калашникова ну извините очень яркий пример) выносливость и простота даже с учетом хреновой точности за счет потраченного на разработку времени и знаний и умений конструктора + мотивация (патриотизм тоже мотивация- это для новейшего поколения которое в мотивациях ограничено) = очень качественный массовый продукт.
rusmil; Bublik2011; +2 Ответить
31. Stepa86 1521 20.01.10 13:01 Сейчас в теме
(30) Макконел примерно то же самое сказал
32. iov 406 20.01.10 15:33 Сейчас в теме
(31) Не читал чесно говоря. Но почитаем, мысли человека который придерживается той же точки зрения могут укрепить уверенность и раздуть самомнение :D .
А на самом деле вопрос программирования все таки в случаях с разработкой качественых программ должен относится к сфере творчества а не к сфере производства (ну покрайней мере для программиста).
33. sash-ml 22.01.10 19:24 Сейчас в теме
С 1С-ке может это и "показатель" крутости, но вот в однокристальных микропроцессорах всего 64Кб памяти под программу(если повезет), и нужно очень оптимальные алгоритмы писать дабы поместится в это ограничение.
34. crs 22 17.01.13 20:28 Сейчас в теме
Подсчитайте кто-нибудь кол-во строк в типовых конфигах. Интересно)
35. Aleksey.Polushin 12.04.22 15:18 Сейчас в теме
Не работает на управляемых формах. Надо предупреждать об этом. А то стартмани потратил - а обработку работающую не получил.
Оставьте свое сообщение