BigBadaBOOM

Пользователь

Регистрация: 26.01.2014

Сообщения: 723

Рейтинг: 396

BigBadaBOOM

Регистрация: 26.01.2014

Сообщения: 723

Рейтинг: 396

Сегодня после пары месяцев разработки двинули наши микросервисы в тестирование. Прошёлся анализатором по коду, он показал около 10к строк. Вопрос знатокам: 10к строк это много или мало? Учитывая что код ревьюился вдоль и поперёк и говнокодом(на 100%) не является 

Rainer Falk

Пользователь

Регистрация: 11.10.2018

Сообщения: 5023

Рейтинг: 4378

Rainer Falk

Регистрация: 11.10.2018

Сообщения: 5023

Рейтинг: 4378

в 1 файле много, на весь проект нормально 

 

ну и если анализатор считает *.lock файлы то даже так норм я бы сказал 

BigBadaBOOM

Пользователь

Регистрация: 26.01.2014

Сообщения: 723

Рейтинг: 396

BigBadaBOOM

Регистрация: 26.01.2014

Сообщения: 723

Рейтинг: 396

Rainer Falk сказал(а):

в 1 файле много, на весь проект нормально 

 

ну и если анализатор считает *.lock файлы то даже так норм я бы сказал 

Нажмите, чтобы раскрыть...

Офк не одним файлом, у нас там все по солиду, тырыпырырастапыры

Lock файлов нет, мы бэк разрабатывали

Александр

Почетный пользователь

Регистрация: 10.08.2013

Сообщения: 5280

Рейтинг: 4179

Александр

Регистрация: 10.08.2013

Сообщения: 5280

Рейтинг: 4179

BigBadaBOOM сказал(а):

Сегодня после пары месяцев разработки двинули наши микросервисы в тестирование. Прошёлся анализатором по коду, он показал около 10к строк. Вопрос знатокам: 10к строк это много или мало? Учитывая что код ревьюился вдоль и поперёк и говнокодом(на 100%) не является 

Нажмите, чтобы раскрыть...

А что именно тебя напрягло? На то он и микросервис, чтобы иметь 10к строк в сумме

Mobsman

Пользователь

Регистрация: 06.09.2016

Сообщения: 21924

Рейтинг: 20782

Mobsman

Регистрация: 06.09.2016

Сообщения: 21924

Рейтинг: 20782

BigBadaBOOM сказал(а):

Сегодня после пары месяцев разработки двинули наши микросервисы в тестирование. Прошёлся анализатором по коду, он показал около 10к строк. Вопрос знатокам: 10к строк это много или мало? Учитывая что код ревьюился вдоль и поперёк и говнокодом(на 100%) не является 

Нажмите, чтобы раскрыть...

в таверне создают темы и побольше строк 

Olivia Wonk

Пользователь

Регистрация: 13.12.2013

Сообщения: 11575

Рейтинг: 4492

Olivia Wonk

Регистрация: 13.12.2013

Сообщения: 11575

Рейтинг: 4492

img

Оставляю комментарии вида

**код

**для

**чего-то

**там

 

Чтобы всякие умники увидели, что много строчек и им впадлу разбираться PepeBruh.png

ArtemX

Пользователь

Регистрация: 16.07.2020

Сообщения: 2830

Рейтинг: 886

ArtemX

Регистрация: 16.07.2020

Сообщения: 2830

Рейтинг: 886

BigBadaBOOM сказал(а):

Сегодня после пары месяцев разработки двинули наши микросервисы в тестирование. Прошёлся анализатором по коду, он показал около 10к строк. Вопрос знатокам: 10к строк это много или мало? Учитывая что код ревьюился вдоль и поперёк и говнокодом(на 100%) не является 

Нажмите, чтобы раскрыть...

"Говнокодом не является" - смелое заявление. Для начала давай определим процентное содержание говнокода. Кидай сюда  какой-нибудь значимый фрагмент, строк на 100-200, мы его заревьювим и тогда определим степень его "говнистости", экстраполировав результаты ревью на весь объём 10к. И уже после этого можно судить о том, 10к - это много или мало.

ZarxisGood

Пользователь

Регистрация: 08.02.2021

Сообщения: 540

Рейтинг: 609

ZarxisGood

Регистрация: 08.02.2021

Сообщения: 540

Рейтинг: 609

Смотря для чего код и на каком языке, пакет для какой-нибудь отчётности на pl/sql, может и более 20 к строк содержать и говнокодом считаться не будет

Dron[A]cs

Пользователь

Регистрация: 12.12.2016

Сообщения: 842

Рейтинг: 720

Dron[A]cs

Регистрация: 12.12.2016

Сообщения: 842

Рейтинг: 720

ArtemX сказал(а):

"Говнокодом не является" - смелое заявление. Для начала давай определим процентное содержание говнокода. Кидай сюда  какой-нибудь значимый фрагмент, строк на 100-200, мы его заревьювим и тогда определим степень его "говнистости", экстраполировав результаты ревью на весь объём 10к. И уже после этого можно судить о том, 10к - это много или мало.

Нажмите, чтобы раскрыть...

+ пусть сюда кинет пару сотен строк а мы уже решим говнокод это или нет 

ArtemX

Пользователь

Регистрация: 16.07.2020

Сообщения: 2830

Рейтинг: 886

ArtemX

Регистрация: 16.07.2020

Сообщения: 2830

Рейтинг: 886

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

 

П.С, Я вот посмотрел размер кода микросервисов у нас, где работаю, и могу сказать что ваши 10к - это чё-то мизер. У нас вот даже мелкие микросервисы по 10-20к. А средние и крупные - по 200-500к. И сервисов в организации сотни.

Так что видимо - увы, хвастать нечем. Но фрагмент код всё равно интересно посмотреть, может у вас код более ёмкий и плотный, чем у нас в кровавом энтерпрайзе (хотя мы ломбок используем много где, а он сильно сокращает пустопорожний бойлерплейт-код, думаю - в разы).

BigBadaBOOM

Пользователь

Регистрация: 26.01.2014

Сообщения: 723

Рейтинг: 396

BigBadaBOOM

Регистрация: 26.01.2014

Сообщения: 723

Рейтинг: 396

ArtemX сказал(а):

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

 

П.С, Я вот посмотрел размер кода микросервисов у нас, где работаю, и могу сказать что ваши 10к - это чё-то мизер. У нас вот даже мелкие микросервисы по 10-20к. А средние и крупные - по 200-500к. И сервисов в организации сотни.

Так что видимо - увы, хвастать нечем. Но фрагмент код всё равно интересно посмотреть, может у вас код более ёмкий и плотный, чем у нас в кровавом энтерпрайзе (хотя мы ломбок используем много где, а он сильно сокращает пустопорожний бойлерплейт-код, думаю - в разы).

Нажмите, чтобы раскрыть...

а если я под nda код скину, шо будит? 

 

 

ZarxisGood сказал(а):

Смотря для чего код и на каком языке, пакет для какой-нибудь отчётности на pl/sql, может и более 20 к строк содержать и говнокодом считаться не будет

Нажмите, чтобы раскрыть...

C#,.NET6

ArtemX сказал(а):

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

 

П.С, Я вот посмотрел размер кода микросервисов у нас, где работаю, и могу сказать что ваши 10к - это чё-то мизер. У нас вот даже мелкие микросервисы по 10-20к. А средние и крупные - по 200-500к. И сервисов в организации сотни.

Так что видимо - увы, хвастать нечем. Но фрагмент код всё равно интересно посмотреть, может у вас код более ёмкий и плотный, чем у нас в кровавом энтерпрайзе (хотя мы ломбок используем много где, а он сильно сокращает пустопорожний бойлерплейт-код, думаю - в разы).

Нажмите, чтобы раскрыть...

500к микросервис? Чегоооу? 

ArtemX сказал(а):

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

 

П.С, Я вот посмотрел размер кода микросервисов у нас, где работаю, и могу сказать что ваши 10к - это чё-то мизер. У нас вот даже мелкие микросервисы по 10-20к. А средние и крупные - по 200-500к. И сервисов в организации сотни.

Так что видимо - увы, хвастать нечем. Но фрагмент код всё равно интересно посмотреть, может у вас код более ёмкий и плотный, чем у нас в кровавом энтерпрайзе (хотя мы ломбок используем много где, а он сильно сокращает пустопорожний бойлерплейт-код, думаю - в разы).

Нажмите, чтобы раскрыть...

Чо за барник? 

ArtemX

Пользователь

Регистрация: 16.07.2020

Сообщения: 2830

Рейтинг: 886

ArtemX

Регистрация: 16.07.2020

Сообщения: 2830

Рейтинг: 886

BigBadaBOOM сказал(а):

а если я под nda код скину, шо будит? 

Нажмите, чтобы раскрыть...

А ты точно NDA подписывал, не придумываешь?

 

BigBadaBOOM сказал(а):

а если я под nda код скину, шо будит? 

Чо за барник? 

Нажмите, чтобы раскрыть...

Ты прям вчера родился. Гугли биполярное расстройство. печать бога, IT и кремниевая долина. Там БАР считается за печать бога, и если ты не имеешь БАР - ты бездарь и вообще недостоин кодить.

https://t.me/s/WTF_HR?before=450 и т.д.

 

BigBadaBOOM сказал(а):

Офк не одним файлом, у нас там все по солиду, тырыпырырастапыры

Нажмите, чтобы раскрыть...

Даже принцип Лисков применяли? Пример можешь привести? Очень интересно.

А покрытие тестами есть?

richard1453

Пользователь

Регистрация: 30.05.2013

Сообщения: 293

Рейтинг: 200

richard1453

Регистрация: 30.05.2013

Сообщения: 293

Рейтинг: 200

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

Про принцип Лисков действительно интересно, раскажешь как с пользой использовали?

ТС скорее всего вкатился годик назад где-то. 

BigBadaBOOM

Пользователь

Регистрация: 26.01.2014

Сообщения: 723

Рейтинг: 396

BigBadaBOOM

Регистрация: 26.01.2014

Сообщения: 723

Рейтинг: 396

ArtemX сказал(а):

А ты точно NDA подписывал, не придумываешь?

 

Ты прям вчера родился. Гугли биполярное расстройство. печать бога, IT и кремниевая долина. Там БАР считается за печать бога, и если ты не имеешь БАР - ты бездарь и вообще недостоин кодить.

https://t.me/s/WTF_HR?before=450 и т.д.

 

 

Даже принцип Лисков применяли? Пример можешь привести? Очень интересно.

 

А покрытие тестами есть?

Нажмите, чтобы раскрыть...

Покрытие есть как юнит тестами так и интеграционными (даже в ThirdParty сервисы лезут). Также Cypress api тестит. 

Про NDA не придумываю. 

Твое сообщение прямо пропитано недоверием, что, проецируешь свою несостоятельность на других?

По Лисков ответ такой - к сожалению код не могу привести из-за причин озвученных выше, могу вкратце рассказать:

Разрабатываем возможность интеграции нашей платформы с различными CRM системами, и естественно у нас есть один общий AbstractCrmManager, который описывает необходимый функционал, а уже остальные менеджеры конкретных СRM-ок его расширяют.

дуфник

Пользователь

Регистрация: 08.04.2013

Сообщения: 3970

Рейтинг: 2979

дуфник

Регистрация: 08.04.2013

Сообщения: 3970

Рейтинг: 2979

Смотря че за код, для верстки какой-нибудь это немного.

10к - ну для одного микросвиса для бэка это норм. Мы обычно в прах ревьюим максимум по 2к, иначе сплитим пр на части

BigBadaBOOM

Пользователь

Регистрация: 26.01.2014

Сообщения: 723

Рейтинг: 396

BigBadaBOOM

Регистрация: 26.01.2014

Сообщения: 723

Рейтинг: 396

дуфник сказал(а):

Смотря че за код, для верстки какой-нибудь это немного.

10к - ну для одного микросвиса для бэка это норм. Мы обычно в прах ревьюим максимум по 2к, иначе сплитим пр на части

Нажмите, чтобы раскрыть...

Не, у нас пр идут по сабтаскам, пр на 2к строк это пздц 

ArtemX

Пользователь

Регистрация: 16.07.2020

Сообщения: 2830

Рейтинг: 886

ArtemX

Регистрация: 16.07.2020

Сообщения: 2830

Рейтинг: 886

BigBadaBOOM сказал(а):

Покрытие есть как юнит тестами так и интеграционными (даже в ThirdParty сервисы лезут). Также Cypress api тестит. 

Про NDA не придумываю. 

Твое сообщение прямо пропитано недоверием, что, проецируешь свою несостоятельность на других?

По Лисков ответ такой - к сожалению код не могу привести из-за причин озвученных выше, могу вкратце рассказать:

Разрабатываем возможность интеграции нашей платформы с различными CRM системами, и естественно у нас есть один общий AbstractCrmManager, который описывает необходимый функционал, а уже остальные менеджеры конкретных СRM-ок его расширяют.

Нажмите, чтобы раскрыть...

"Твое сообщение прямо пропитано недоверием" - ты прав. Просто много раз видел, что люди, утверждающие, что они знают и применяют солид или паттерны, или что умеют писать не-говнокод, делали это неправильно, и понимание вопроса имели плохое. Поэтому мне интересен ваш опыт применения солид.

Насчет покрытия тестами - если у вас система с кучей интеграций с внешними системами, как вы проводите интегротесты? На заглушках для внешних систем? А на проде интегротесты запускаете?

 

BigBadaBOOM

Пользователь

Регистрация: 26.01.2014

Сообщения: 723

Рейтинг: 396

BigBadaBOOM

Регистрация: 26.01.2014

Сообщения: 723

Рейтинг: 396

ArtemX сказал(а):

"Твое сообщение прямо пропитано недоверием" - ты прав. Просто много раз видел, что люди, утверждающие, что они знают и применяют солид или паттерны, или что умеют писать не-говнокод, делали это неправильно, и понимание вопроса имели плохое. Поэтому мне интересен ваш опыт применения солид.

Насчет покрытия тестами - если у вас система с кучей интеграций с внешними системами, как вы проводите интегротесты? На заглушках для внешних систем? А на проде интегротесты запускаете?

 

Нажмите, чтобы раскрыть...

Third Party тесты гоняем только на окружениях, к сожалению с этим куча проблем. Т. Е на проде third party мочится. 

Шрек 2

Пользователь

Регистрация: 24.03.2018

Сообщения: 4057

Рейтинг: 2052

Шрек 2

Регистрация: 24.03.2018

Сообщения: 4057

Рейтинг: 2052

img

Мало, размер маленького приложения, особенно если это какой-нибудь ООП SOLID фреймворк, но для пары месяцев нормальной разработки, как ты говоришь, вполне себе норм. Другой вопрос, кому какая разница на количество строк в проекте pepethink.png 

LANAYA aka Templar

Пользователь

Регистрация: 17.01.2017

Сообщения: 1822

Рейтинг: 1361

LANAYA aka Templar

Регистрация: 17.01.2017

Сообщения: 1822

Рейтинг: 1361

BigBadaBOOM сказал(а):

Сегодня после пары месяцев разработки двинули наши микросервисы в тестирование. Прошёлся анализатором по коду, он показал около 10к строк. Вопрос знатокам: 10к строк это много или мало? Учитывая что код ревьюился вдоль и поперёк и говнокодом(на 100%) не является 

Нажмите, чтобы раскрыть...

Ты будешь в Яндексе работать?

BigBadaBOOM

Пользователь

Регистрация: 26.01.2014

Сообщения: 723

Рейтинг: 396

BigBadaBOOM

Регистрация: 26.01.2014

Сообщения: 723

Рейтинг: 396

LANAYA aka Templar сказал(а):

Ты будешь в Яндексе работать?

Нажмите, чтобы раскрыть...

Не знаю. Много разных мнений о янлкесе. Новички хвалят, старички ругают, хз

ArtemX

Пользователь

Регистрация: 16.07.2020

Сообщения: 2830

Рейтинг: 886

ArtemX

Регистрация: 16.07.2020

Сообщения: 2830

Рейтинг: 886

BigBadaBOOM сказал(а):

Third Party тесты гоняем только на окружениях, к сожалению с этим куча проблем. Т. Е на проде third party мочится. 

Нажмите, чтобы раскрыть...

Каков процент покрытия кода юнит и интегротестами?

Через сонар код прогоняли, метрики есть? Там кстати есть интересная метрика Code Smell.

SAST, DAST, SCA проверки прогоняли (на предмет уязвимостей)? Что по ним, по Low/High/Critical уязвимостям?

Интегротесты тестируют конкурентный доступ и кейсы с БД-транзакциями?

Многопоточка или реактивщина в коде есть? Если да, то как тестируется? Как гарантируется отсутствие дедлоков или выполнение реактивного контракта?

BigBadaBOOM

Пользователь

Регистрация: 26.01.2014

Сообщения: 723

Рейтинг: 396

BigBadaBOOM

Регистрация: 26.01.2014

Сообщения: 723

Рейтинг: 396

ArtemX сказал(а):

Каков процент покрытия кода юнит и интегротестами?

Через сонар код прогоняли, метрики есть? Там кстати есть интересная метрика Code Smell.

SAST, DAST, SCA проверки прогоняли (на предмет уязвимостей)? Что по ним, по Low/High/Critical уязвимостям?

Интегротесты тестируют конкурентный доступ и кейсы с БД-транзакциями?

Многопоточка или реактивщина в коде есть? Если да, то как тестируется? Как гарантируется отсутствие дедлоков или выполнение реактивного контракта?

Нажмите, чтобы раскрыть...

Как какать? PepeSausage.png?1598646203

ArtemX

Пользователь

Регистрация: 16.07.2020

Сообщения: 2830

Рейтинг: 886

ArtemX

Регистрация: 16.07.2020

Сообщения: 2830

Рейтинг: 886

BigBadaBOOM сказал(а):

Как какать? PepeSausage.png?1598646203

Нажмите, чтобы раскрыть...

Чувак, ты в теме спросил - 10к это много или мало. Я ответил - нужен фрагмент кода, тогда ответим. Ты сказал - кода не будет, ибо НДА. Далее я запросил у тебя обезличенные метрики, не раскрывающие код и НДА, но также позволяющие судить о том, 10к - это много или мало. На что ты спрашиваешь меня - как какать? Мы на каком-то этапе пошли не в сторону поиска ответа на твой изначальный вопрос, а в сторону сортира?

Любая из этих метрик позволяет судить о качестве кода. 10к строк кода можно наговнокодить за месяц, но при этом код будет иметь кучу уязвимостей, плохо покрыт тестами. В этом случае 10к - это мало. Если же код по всем означенным выше метрикам хорош - то 10к - это уже не так и мало.

Если вы эти метрики не собираете и ты первый раз слышишь о том, что такое SAST, так и напиши.

Emulebest

Пользователь

Регистрация: 01.01.2014

Сообщения: 212

Рейтинг: 171

Emulebest

Регистрация: 01.01.2014

Сообщения: 212

Рейтинг: 171

ArtemX сказал(а):

Чувак, ты в теме спросил - 10к это много или мало. Я ответил - нужен фрагмент кода, тогда ответим. Ты сказал - кода не будет, ибо НДА. Далее я запросил у тебя обезличенные метрики, не раскрывающие код и НДА, но также позволяющие судить о том, 10к - это много или мало. На что ты спрашиваешь меня - как какать? Мы на каком-то этапе пошли не в сторону поиска ответа на твой изначальный вопрос, а в сторону сортира?

Любая из этих метрик позволяет судить о качестве кода. 10к строк кода можно наговнокодить за месяц, но при этом код будет иметь кучу уязвимостей, плохо покрыт тестами. В этом случае 10к - это мало. Если же код по всем означенным выше метрикам хорош - то 10к - это уже не так и мало.

Если вы эти метрики не собираете и ты первый раз слышишь о том, что такое SAST, так и напиши.

Нажмите, чтобы раскрыть...

Мужик, они пишут систему агрегатор CRM систем, а ты втыкиваешь метрики для mission-critical систем... На 99% уверен, что их там нет. Да и метрики, которые ты указал не показывают качество кода, а показывают уровень его верификации, можно еще предложить формальную верификацию на Coq, возможность переписать обработку ситуаций в рамках алгебраических эффектов и кучу других умных терминов.

 

Если его 10к строк выполняют поставленную задачу, справляются с нефункциональными требованиями качества и не стоят много человеко-часов для модификации и улучшения, то это нормальный код