|
|
|
Сколько строчек в вашем Java-проекте?
|
|||
|---|---|---|---|
|
#18+
День добрый, уважаемые! Задался вопросом - а сколько строчек кода может эффективно поддерживать и развивать один программист? Пишу именно в Джава форуме тк (1) мне интересна Джава, и, конечно (2) потому что разные языки имеют разную емкость кода. При подсчете просьба указать - (1) считали код без тестов (2) код с пустыми строками или без Я сам отвечу в пнд как доберусь до работы :) Тысяч 30 строк примерно в проекте у нас. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2016, 13:32 |
|
||
|
Сколько строчек в вашем Java-проекте?
|
|||
|---|---|---|---|
|
#18+
Dymytry, если структура проекта выстроена абы как, то даже 10тыс. будет сложно одному поддерживать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2016, 13:42 |
|
||
|
Сколько строчек в вашем Java-проекте?
|
|||
|---|---|---|---|
|
#18+
Nixic, это все понятно что хорошее это хорошо, а плохое это плохо. Но на что-то надо ориентироваться и как-то прикидывать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2016, 13:43 |
|
||
|
Сколько строчек в вашем Java-проекте?
|
|||
|---|---|---|---|
|
#18+
Dymytry, Выскажусь про разные языки)) . Учусь говнокодить на scala. Текущий проект ~25000 строк. Банальныя внутриконторская ИС ( CRUD + отчетики + взаимодействие с остальным колхозом и внешними веб-сервисами) Всего: Код: sql 1. 2. 3. 4. Без пустых строк Код: sql 1. 2. 3. 4. *.html - это шаблоны Play Framеwork, там тоже скала есть, поэтому посчитал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2016, 14:12 |
|
||
|
Сколько строчек в вашем Java-проекте?
|
|||
|---|---|---|---|
|
#18+
dimonz80, спасибо! Скала вроде как довольно емкий язык, так что по идее аналог на джаве будет явно больше, да? А сколько человек поддерживает ваш проект? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2016, 15:15 |
|
||
|
Сколько строчек в вашем Java-проекте?
|
|||
|---|---|---|---|
|
#18+
Я-бы сказал что количество строчек - вообще ни разу не показатель. Если у вас самописный ORM который тащит из БД OVER 9000 табличек по 100 полей и создает entities с геттерами-сеттерами. Получим эдакую кашу-размазню из сущностей. Я-бы предложил прогнать какой-нибудь анализатор Complexity и взять из отчота только те модули где есть логика. А именно for-while-if-else-do. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2016, 16:58 |
|
||
|
Сколько строчек в вашем Java-проекте?
|
|||
|---|---|---|---|
|
#18+
Dymytrydimonz80, спасибо! Скала вроде как довольно емкий язык, так что по идее аналог на джаве будет явно больше, да? Наверно на java выйдет побольше, да ( геттеры-сеттеры, Checked Exceptions и т.п.) авторА сколько человек поддерживает ваш проект? Пока только я в гордом одиночестве) но будет привлечен еще человек на случай если я в отпуске/заболел/уволился/умер. Поддержка проблем не вызывает пока, т.к. проект молодой и небольшой (25000 строк, ~80 таблиц в БД, ~50 "бизнес-сущностей", т.е. классов типа Person, Organization, и т.п.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2016, 17:14 |
|
||
|
Сколько строчек в вашем Java-проекте?
|
|||
|---|---|---|---|
|
#18+
С подобным проектом будет сложно/емко только в начале разработки и после внедрения примерно полгода. Потом заявок будет все меньше и меньше и станет как у меня - раз в пару месяцев. А так, он работает себе и работает, люди БД заполняют и заполняют )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2016, 17:31 |
|
||
|
Сколько строчек в вашем Java-проекте?
|
|||
|---|---|---|---|
|
#18+
maytonЯ-бы сказал что количество строчек - вообще ни разу не показатель. Если у вас самописный ORM который тащит из БД OVER 9000 табличек по 100 полей и создает entities с геттерами-сеттерами. Получим эдакую кашу-размазню из сущностей. Во! Почти мой случай!)))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2016, 17:31 |
|
||
|
Сколько строчек в вашем Java-проекте?
|
|||
|---|---|---|---|
|
#18+
NixicС подобным проектом будет сложно/емко только в начале разработки и после внедрения примерно полгода. Потом заявок будет все меньше и меньше и станет как у меня - раз в пару месяцев. А так, он работает себе и работает, люди БД заполняют и заполняют )) Ага а через год бизнес выкатит с покерфейсом хотелку типа "то же самое только с перламутровыми пуговицами", которая пославит с ног на голову всю нашу поделку своими "перламутровыми пуговицами"))) Я б так не зарекался. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2016, 17:35 |
|
||
|
Сколько строчек в вашем Java-проекте?
|
|||
|---|---|---|---|
|
#18+
maytonЯ-бы сказал что количество строчек - вообще ни разу не показатель. Если у вас самописный ORM который тащит из БД OVER 9000 табличек по 100 полей и создает entities с геттерами-сеттерами. Получим эдакую кашу-размазню из сущностей. Я-бы предложил прогнать какой-нибудь анализатор Complexity и взять из отчота только те модули где есть логика. А именно for-while-if-else-do. И посчитает этот анализатор циклы, где самописный ORM по ResultSet'ам бегает))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2016, 17:42 |
|
||
|
Сколько строчек в вашем Java-проекте?
|
|||
|---|---|---|---|
|
#18+
dimonz80NixicС подобным проектом будет сложно/емко только в начале разработки и после внедрения примерно полгода. Потом заявок будет все меньше и меньше и станет как у меня - раз в пару месяцев. А так, он работает себе и работает, люди БД заполняют и заполняют )) Ага а через год бизнес выкатит с покерфейсом хотелку типа "то же самое только с перламутровыми пуговицами", которая пославит с ног на голову всю нашу поделку своими "перламутровыми пуговицами"))) Я б так не зарекался. Ну мой загнулся через 4 года, точнее последние 1.5 года я вообще практически ничего в нем не менял, потому что никому, включая руководителя в итоге ничего не надо стало. Точнее их и так все устраивает и больше ничего не надо. В итоге с оклада меня сняли недавно и уволили :) Оставили на поддержке, если понадоблюсь, с оплатой по факту и по договоренности. Так что, смотрите на активность руководителя, если он мямля, допустим, то не стоит сильно рассчитывать на развитие и думать о помощнике. Но никто не запрещает самому его развивать и делать параллельную версию с более чистым кодом. Это я конкретно про свой случай рассказал :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2016, 17:42 |
|
||
|
Сколько строчек в вашем Java-проекте?
|
|||
|---|---|---|---|
|
#18+
Nixicdimonz80пропущено... Ага а через год бизнес выкатит с покерфейсом хотелку типа "то же самое только с перламутровыми пуговицами", которая пославит с ног на голову всю нашу поделку своими "перламутровыми пуговицами"))) Я б так не зарекался. Ну мой загнулся через 4 года, точнее последние 1.5 года я вообще практически ничего в нем не менял, потому что никому, включая руководителя в итоге ничего не надо стало. Точнее их и так все устраивает и больше ничего не надо. В итоге с оклада меня сняли недавно и уволили :) Оставили на поддержке, если понадоблюсь, с оплатой по факту и по договоренности. Так что, смотрите на активность руководителя, если он мямля, допустим, то не стоит сильно рассчитывать на развитие и думать о помощнике. Но никто не запрещает самому его развивать и делать параллельную версию с более чистым кодом. Это я конкретно про свой случай рассказал :) Знал бы прикуп, как говорится). Во всяком случае ты получил опыт разработки и поддержки, а так же заготовку для будущих свершений))) А тупо сидеть и по тихой допиливать свою нетленку - это стагнация. Мой случай - это как раз переделка старой системы с похожим функционалом по причине неприменимости к ней новых хотелок по моей инициативе на свой страх и риск. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2016, 17:50 |
|
||
|
Сколько строчек в вашем Java-проекте?
|
|||
|---|---|---|---|
|
#18+
я как то пилил движок под форум, такой простенький на спринг+хибер. Так у меня вышло в районе между 5000 и 10000 строк. но это с конфигами, ентитями геттерами сеттерами и вообще всем :) Без морд. Морды не считал. Да и накой эти хтмл теги считать. Писал так же ИСку - там да, там за 20 тыс перевалило. Но я бы не сказал что она была ужасно функциональной. А поддержка кода имхо - если всё структурировано корректно, всё раскидано по слоям и т.п. то думаю, там особо не играет это роли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2016, 18:09 |
|
||
|
Сколько строчек в вашем Java-проекте?
|
|||
|---|---|---|---|
|
#18+
natanabrahamjrя как то пилил движок под форум, такой простенький на спринг+хибер. Так у меня вышло в районе между 5000 и 10000 строк. но это с конфигами, ентитями геттерами сеттерами и вообще всем :) Без морд. Морды не считал. Да и накой эти хтмл теги считать. Писал так же ИСку - там да, там за 20 тыс перевалило. Но я бы не сказал что она была ужасно функциональной. А поддержка кода имхо - если всё структурировано корректно, всё раскидано по слоям и т.п. то думаю, там особо не играет это роли. пока сам код под контролем держишь то проблем нет (или тебе так кажется) . Но любая даже изначально вся насквозь правильная система через 5 лет работы над ней скажем более чем 10 человек скорее всего превратится в лютейший говнокод. По крайней мере если это очередная crm/erp/абс ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2016, 18:26 |
|
||
|
Сколько строчек в вашем Java-проекте?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2016, 18:46 |
|
||
|
Сколько строчек в вашем Java-проекте?
|
|||
|---|---|---|---|
|
#18+
DymytryДень добрый, уважаемые! Тысяч 30 строк примерно в проекте у нас. первый раз за все время работы всплыл вопрос про подсчет строк. Глянул 4 проекта которые активно вел за последние 7 лет, округлил до 5К строк. 1. 40К довольно сложный нетипичный для Java проект. Живет и рефакторится последние 6 лет, готовится на пенсию но отдельные модули уйдут в новый продукт (микро сервисная архитектура) 2. 130К мой последний проект, написан в течении полугода, привлекалось до 6 человек, активно ведут двое. В продакшн. 3. 370K устаревшая версия проекта #2, более медленная, громоздкая, лишние навороты "ради понтов". Тесты никто не поддерживал, покрытие тестами около 5%. Тихий ужас, пока въехал как эта куча спегетти работает и как ее рефакторитъ ушло с полгода и получилосъ #2 с другой архитектурой и меньшим количеством компонент. 4. 195К маленькая библиотечка для #1. Кое что считает. Народ ее откровенно избегает трогать руками и это правильно так как это не бизнес логика а расчетная библиотека и требуется знание спецификаций. Приходилось копаться и правитъ баги. Удивлен что так много строчек скорее из за констант, деклараций и прочего мусора. Она не в Java стиле написана а порт в лоб с процедурного языка. Получается что примерно 200К настучал/отрефакторил, не считая одного крупного проекта который 2 года пилил, но там не более 20К моего кода ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2016, 06:02 |
|
||
|
Сколько строчек в вашем Java-проекте?
|
|||
|---|---|---|---|
|
#18+
dimonz80 И посчитает этот анализатор циклы, где самописный ORM по ResultSet'ам бегает))) А где это у вас в сущностях циклы? Если циклы - это логика то пускай считает. Это норм. Я имею в виду что при учете кода нужно учитывать реально продуманный код а не сгенерированный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2016, 06:11 |
|
||
|
Сколько строчек в вашем Java-проекте?
|
|||
|---|---|---|---|
|
#18+
maytondimonz80 И посчитает этот анализатор циклы, где самописный ORM по ResultSet'ам бегает))) А где это у вас в сущностях циклы? Если циклы - это логика то пускай считает. Это норм. Я имею в виду что при учете кода нужно учитывать реально продуманный код а не сгенерированный. Ок. Скафолдинг вычеркиваем. Геттеры-сеттеры вычеркиваем. Блииин, у меня в Sublime макросы на всякое-разное-типовое, тоже вычеркивать, да? ) Надо же нам чем-то меряться, а за фотки с приложенной линейкой и забанить могут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2016, 06:45 |
|
||
|
Сколько строчек в вашем Java-проекте?
|
|||
|---|---|---|---|
|
#18+
NixicDymytry, если структура проекта выстроена абы как, то даже 10тыс. будет сложно одному поддерживать. Это точно, хотя бы переменные и методы называли понятно. Полезный курс для... да для всех https://cleancoders.com/ Не помешает посмотретъ. Объем программы имеет значение только в том смысле что его лень набивать - знаешь что и как нужно делать есть прототип, но людей не хватает и нужно набивать код чистовой версии. Думатъ то уже почти не приходится, это рутина. Хорошо структурированный код с понятными именами (и хотя бы вкраплениями комментов) сам по себе документация. Объем в строчках кода - это то как раз не замечаешь, отладка идет по входу/выходу, как с черным ящиком, а вот какой нибудь метод на пару страниц с плотно упакованными операциями с масками и сдвигами, целочисленными делениями и без единого коммента и с непонятным названием, и если таких методов вложено 3 - 4 слоя... проще застрелиться. По сути обфускация. Конечно понимаю что численные алгоритмы перенесли откуда то из матлаба или С программы но нельзя же как в 18 веке жить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2016, 15:15 |
|
||
|
Сколько строчек в вашем Java-проекте?
|
|||
|---|---|---|---|
|
#18+
uid uniqueа вот какой нибудь метод на пару страниц с плотно упакованными операциями с масками и сдвигами, целочисленными делениями и без единого коммента и с непонятным названием, и если таких методов вложено 3 - 4 слоя... проще застрелиться. По сути обфускация. Конечно понимаю что численные алгоритмы перенесли откуда то из матлаба или С программы но нельзя же как в 18 веке жить. Если он был написан в матлабе на "пару страниц" с соблюдением инкапсуляции - то пускай так и лежит себе. Незачем рефакторить потому-что никто отдельные части этого кода вызывать никогда не будет. Помечаешь как @Generated и пишешь камент дескыть портировано с матлаба. И исключаешь из анализаторов и отчотов файндбаг и сонар-куб чтоб не видеть его больше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2016, 16:33 |
|
||
|
Сколько строчек в вашем Java-проекте?
|
|||
|---|---|---|---|
|
#18+
это бессмысленный параметр , если толко не платят по количеству строк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2016, 20:50 |
|
||
|
Сколько строчек в вашем Java-проекте?
|
|||
|---|---|---|---|
|
#18+
maytonuid uniqueа вот какой нибудь метод на пару страниц с плотно упакованными операциями с масками и сдвигами, целочисленными делениями и без единого коммента и с непонятным названием, и если таких методов вложено 3 - 4 слоя... проще застрелиться. По сути обфускация. Конечно понимаю что численные алгоритмы перенесли откуда то из матлаба или С программы но нельзя же как в 18 веке жить. Если он был написан в матлабе на "пару страниц" с соблюдением инкапсуляции - то пускай так и лежит себе. Незачем рефакторить потому-что никто отдельные части этого кода вызывать никогда не будет. Помечаешь как @Generated и пишешь камент дескыть портировано с матлаба. И исключаешь из анализаторов и отчотов файндбаг и сонар-куб чтоб не видеть его больше. К сожалению баги были, но редко. По стилю на 99% С - количество битовых операций зашкаливает, плавающей точки почти нет. Целочисленное деление сплошь и рядом, такое ощущение что код вытащен из 80х или самого начала 90х (когда мат сопроцессор не стоял везде) и портирован каким то конвертером на Java. Хорошо если человек знаком с бинарными операциями но много ли молодых Java программистов сейчас копаются с масками и сдвигами? Типичный фрагмент кода - переименовал переменные, взял один циклик, чтоб дать представление - // limit, c, d, e, i, f, u - external variables byte a = 0; int b; for (int i = 0; i < limit; ++i) { b = some_method(b); a = (byte) (a | b << 7 - i); b = (b & c) << 1 | b | d >> e - i & f | d >> e - i & u; } Знакомый писал на С читалки рендереры RAW фотографий, как то глянул через плечо, там что то похожее было (ряды, повторное использование переменных). Когда естъ 3 дня на обдумывание одной страницы кода, можно и так писать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2016, 00:08 |
|
||
|
Сколько строчек в вашем Java-проекте?
|
|||
|---|---|---|---|
|
#18+
DymytryДень добрый, уважаемые! Задался вопросом - а сколько строчек кода может эффективно поддерживать и развивать один программист? Пишу именно в Джава форуме тк (1) мне интересна Джава, и, конечно (2) потому что разные языки имеют разную емкость кода. При подсчете просьба указать - (1) считали код без тестов (2) код с пустыми строками или без Я сам отвечу в пнд как доберусь до работы :) Тысяч 30 строк примерно в проекте у нас. По моему опыту количество строк кода который эффективно может поддерживать один программист стремится к нулю. И то насчет нуля у меня есть опасения. :-) А так пофиг. Есть куча приемов, которые позволяют вставить костыль с минимальным затрагиванием даже спагетти кода. Единственное, что меня сейчас напрягает это мода на лямбды. Я пока не научился модифицировать код с лямбдами не понимая что он делает. Приходится долго в отладчике и логах смотреть что и как происходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2016, 07:06 |
|
||
|
Сколько строчек в вашем Java-проекте?
|
|||
|---|---|---|---|
|
#18+
[quot mad_nazgul]Dymytry Единственное, что меня сейчас напрягает это мода на лямбды. Я пока не научился модифицировать код с лямбдами не понимая что он делает. Приходится долго в отладчике и логах смотреть что и как происходит. Можно мысленно представлять их как тело цикла если map/foreach и т.п. Или как анонимную реализацию интерфейса если коллбэк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2016, 08:27 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=94&tid=2123943]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
78ms |
get tp. blocked users: |
2ms |
| others: | 224ms |
| total: | 393ms |

| 0 / 0 |
