10000 строк кода.
572
36
Сегодня после пары месяцев разработки двинули наши микросервисы в тестирование. Прошёлся анализатором по коду, он показал около 10к строк. Вопрос знатокам: 10к строк это много или мало? Учитывая что код ревьюился вдоль и поперёк и говнокодом(на 100%) не является
BigBadaBOOM сказал(а):↑Сегодня после пары месяцев разработки двинули наши микросервисы в тестирование. Прошёлся анализатором по коду, он показал около 10к строк. Вопрос знатокам: 10к строк это много или мало? Учитывая что код ревьюился вдоль и поперёк и говнокодом(на 100%) не является
Нажмите, чтобы раскрыть...А что именно тебя напрягло? На то он и микросервис, чтобы иметь 10к строк в сумме
BigBadaBOOM сказал(а):↑Сегодня после пары месяцев разработки двинули наши микросервисы в тестирование. Прошёлся анализатором по коду, он показал около 10к строк. Вопрос знатокам: 10к строк это много или мало? Учитывая что код ревьюился вдоль и поперёк и говнокодом(на 100%) не является
Нажмите, чтобы раскрыть...в таверне создают темы и побольше строк
BigBadaBOOM сказал(а):↑Сегодня после пары месяцев разработки двинули наши микросервисы в тестирование. Прошёлся анализатором по коду, он показал около 10к строк. Вопрос знатокам: 10к строк это много или мало? Учитывая что код ревьюился вдоль и поперёк и говнокодом(на 100%) не является
Нажмите, чтобы раскрыть..."Говнокодом не является" - смелое заявление. Для начала давай определим процентное содержание говнокода. Кидай сюда какой-нибудь значимый фрагмент, строк на 100-200, мы его заревьювим и тогда определим степень его "говнистости", экстраполировав результаты ревью на весь объём 10к. И уже после этого можно судить о том, 10к - это много или мало.
ArtemX сказал(а):↑"Говнокодом не является" - смелое заявление. Для начала давай определим процентное содержание говнокода. Кидай сюда какой-нибудь значимый фрагмент, строк на 100-200, мы его заревьювим и тогда определим степень его "говнистости", экстраполировав результаты ревью на весь объём 10к. И уже после этого можно судить о том, 10к - это много или мало.
Нажмите, чтобы раскрыть...+ пусть сюда кинет пару сотен строк а мы уже решим говнокод это или нет
В любом случае, дружище, вряд ли ты переплюнешь по перформансу барника в фазе гипомании. Ну либо ты тоже барник в фазе гипомании.
П.С, Я вот посмотрел размер кода микросервисов у нас, где работаю, и могу сказать что ваши 10к - это чё-то мизер. У нас вот даже мелкие микросервисы по 10-20к. А средние и крупные - по 200-500к. И сервисов в организации сотни.
Так что видимо - увы, хвастать нечем. Но фрагмент код всё равно интересно посмотреть, может у вас код более ёмкий и плотный, чем у нас в кровавом энтерпрайзе (хотя мы ломбок используем много где, а он сильно сокращает пустопорожний бойлерплейт-код, думаю - в разы).
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к. И сервисов в организации сотни.
Так что видимо - увы, хвастать нечем. Но фрагмент код всё равно интересно посмотреть, может у вас код более ёмкий и плотный, чем у нас в кровавом энтерпрайзе (хотя мы ломбок используем много где, а он сильно сокращает пустопорожний бойлерплейт-код, думаю - в разы).
Нажмите, чтобы раскрыть...Чо за барник?
BigBadaBOOM сказал(а):↑а если я под nda код скину, шо будит?
Нажмите, чтобы раскрыть...А ты точно NDA подписывал, не придумываешь?
BigBadaBOOM сказал(а):↑а если я под nda код скину, шо будит?
Чо за барник?
Нажмите, чтобы раскрыть...Ты прям вчера родился. Гугли биполярное расстройство. печать бога, IT и кремниевая долина. Там БАР считается за печать бога, и если ты не имеешь БАР - ты бездарь и вообще недостоин кодить.
https://t.me/s/WTF_HR?before=450 и т.д.
BigBadaBOOM сказал(а):↑Офк не одним файлом, у нас там все по солиду, тырыпырырастапыры
Нажмите, чтобы раскрыть...Даже принцип Лисков применяли? Пример можешь привести? Очень интересно.
А покрытие тестами есть?
ArtemX сказал(а):↑А ты точно NDA подписывал, не придумываешь?
Ты прям вчера родился. Гугли биполярное расстройство. печать бога, IT и кремниевая долина. Там БАР считается за печать бога, и если ты не имеешь БАР - ты бездарь и вообще недостоин кодить.
https://t.me/s/WTF_HR?before=450 и т.д.
Даже принцип Лисков применяли? Пример можешь привести? Очень интересно.
А покрытие тестами есть?
Нажмите, чтобы раскрыть...Покрытие есть как юнит тестами так и интеграционными (даже в ThirdParty сервисы лезут). Также Cypress api тестит.
Про NDA не придумываю. Твое сообщение прямо пропитано недоверием, что, проецируешь свою несостоятельность на других?По Лисков ответ такой - к сожалению код не могу привести из-за причин озвученных выше, могу вкратце рассказать:
Разрабатываем возможность интеграции нашей платформы с различными CRM системами, и естественно у нас есть один общий AbstractCrmManager, который описывает необходимый функционал, а уже остальные менеджеры конкретных СRM-ок его расширяют.
BigBadaBOOM сказал(а):↑Покрытие есть как юнит тестами так и интеграционными (даже в ThirdParty сервисы лезут). Также Cypress api тестит.
Про NDA не придумываю. Твое сообщение прямо пропитано недоверием, что, проецируешь свою несостоятельность на других?По Лисков ответ такой - к сожалению код не могу привести из-за причин озвученных выше, могу вкратце рассказать:
Разрабатываем возможность интеграции нашей платформы с различными CRM системами, и естественно у нас есть один общий AbstractCrmManager, который описывает необходимый функционал, а уже остальные менеджеры конкретных СRM-ок его расширяют.Нажмите, чтобы раскрыть..."Твое сообщение прямо пропитано недоверием" - ты прав. Просто много раз видел, что люди, утверждающие, что они знают и применяют солид или паттерны, или что умеют писать не-говнокод, делали это неправильно, и понимание вопроса имели плохое. Поэтому мне интересен ваш опыт применения солид.
Насчет покрытия тестами - если у вас система с кучей интеграций с внешними системами, как вы проводите интегротесты? На заглушках для внешних систем? А на проде интегротесты запускаете?
ArtemX сказал(а):↑"Твое сообщение прямо пропитано недоверием" - ты прав. Просто много раз видел, что люди, утверждающие, что они знают и применяют солид или паттерны, или что умеют писать не-говнокод, делали это неправильно, и понимание вопроса имели плохое. Поэтому мне интересен ваш опыт применения солид.
Насчет покрытия тестами - если у вас система с кучей интеграций с внешними системами, как вы проводите интегротесты? На заглушках для внешних систем? А на проде интегротесты запускаете?
Нажмите, чтобы раскрыть...Third Party тесты гоняем только на окружениях, к сожалению с этим куча проблем. Т. Е на проде third party мочится.
BigBadaBOOM сказал(а):↑Сегодня после пары месяцев разработки двинули наши микросервисы в тестирование. Прошёлся анализатором по коду, он показал около 10к строк. Вопрос знатокам: 10к строк это много или мало? Учитывая что код ревьюился вдоль и поперёк и говнокодом(на 100%) не является
Нажмите, чтобы раскрыть...Ты будешь в Яндексе работать?
BigBadaBOOM сказал(а):↑Third Party тесты гоняем только на окружениях, к сожалению с этим куча проблем. Т. Е на проде third party мочится.
Нажмите, чтобы раскрыть...Каков процент покрытия кода юнит и интегротестами?
Через сонар код прогоняли, метрики есть? Там кстати есть интересная метрика Code Smell.
SAST, DAST, SCA проверки прогоняли (на предмет уязвимостей)? Что по ним, по Low/High/Critical уязвимостям?
Интегротесты тестируют конкурентный доступ и кейсы с БД-транзакциями?
Многопоточка или реактивщина в коде есть? Если да, то как тестируется? Как гарантируется отсутствие дедлоков или выполнение реактивного контракта?
ArtemX сказал(а):↑Каков процент покрытия кода юнит и интегротестами?
Через сонар код прогоняли, метрики есть? Там кстати есть интересная метрика Code Smell.
SAST, DAST, SCA проверки прогоняли (на предмет уязвимостей)? Что по ним, по Low/High/Critical уязвимостям?
Интегротесты тестируют конкурентный доступ и кейсы с БД-транзакциями?
Многопоточка или реактивщина в коде есть? Если да, то как тестируется? Как гарантируется отсутствие дедлоков или выполнение реактивного контракта?
Нажмите, чтобы раскрыть...Как какать?
BigBadaBOOM сказал(а):↑Как какать?
Нажмите, чтобы раскрыть...Чувак, ты в теме спросил - 10к это много или мало. Я ответил - нужен фрагмент кода, тогда ответим. Ты сказал - кода не будет, ибо НДА. Далее я запросил у тебя обезличенные метрики, не раскрывающие код и НДА, но также позволяющие судить о том, 10к - это много или мало. На что ты спрашиваешь меня - как какать? Мы на каком-то этапе пошли не в сторону поиска ответа на твой изначальный вопрос, а в сторону сортира?
Любая из этих метрик позволяет судить о качестве кода. 10к строк кода можно наговнокодить за месяц, но при этом код будет иметь кучу уязвимостей, плохо покрыт тестами. В этом случае 10к - это мало. Если же код по всем означенным выше метрикам хорош - то 10к - это уже не так и мало.
Если вы эти метрики не собираете и ты первый раз слышишь о том, что такое SAST, так и напиши.
ArtemX сказал(а):↑Чувак, ты в теме спросил - 10к это много или мало. Я ответил - нужен фрагмент кода, тогда ответим. Ты сказал - кода не будет, ибо НДА. Далее я запросил у тебя обезличенные метрики, не раскрывающие код и НДА, но также позволяющие судить о том, 10к - это много или мало. На что ты спрашиваешь меня - как какать? Мы на каком-то этапе пошли не в сторону поиска ответа на твой изначальный вопрос, а в сторону сортира?
Любая из этих метрик позволяет судить о качестве кода. 10к строк кода можно наговнокодить за месяц, но при этом код будет иметь кучу уязвимостей, плохо покрыт тестами. В этом случае 10к - это мало. Если же код по всем означенным выше метрикам хорош - то 10к - это уже не так и мало.
Если вы эти метрики не собираете и ты первый раз слышишь о том, что такое SAST, так и напиши.
Нажмите, чтобы раскрыть...Мужик, они пишут систему агрегатор CRM систем, а ты втыкиваешь метрики для mission-critical систем... На 99% уверен, что их там нет. Да и метрики, которые ты указал не показывают качество кода, а показывают уровень его верификации, можно еще предложить формальную верификацию на Coq, возможность переписать обработку ситуаций в рамках алгебраических эффектов и кучу других умных терминов.
Если его 10к строк выполняют поставленную задачу, справляются с нефункциональными требованиями качества и не стоят много человеко-часов для модификации и улучшения, то это нормальный код
Тема закрыта
-
ЗаголовокОтветов ПросмотровПоследнее сообщение
-
Сообщений:1
Просмотров:0
-
Сообщений:22
Просмотров:25
-
Сообщений: 42 29 Mar 2024 в 12:35
Сообщений:42
Просмотров:53
-
Сообщений:18
Просмотров:20
-
Сообщений:13
Просмотров:16