|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
hVosttНет такого требования.Ну у тебя нет, и что с того? А я такое встречал, и был очень недоволен этим требованием. Но это было давно... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 11:46 |
|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
Алексей КhVosttНет такого требования.Ну у тебя нет, и что с того? А я такое встречал, и был очень недоволен этим требованием. Но это было давно... Ну есть и такое, когда занимающий ведущие позиции разработчик имеет весьма поверхностные знания. Тем более, экранный размер, это примерная оценка, просто для того, чтобы можно было обратить на это внимание, но никак не жесткое требование. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 11:49 |
|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
hVosttКогда ты законсервирован один в своём коде, то взгляды конечно будут сильно отличаться. Что мы как раз и наблюдаем.Ты так говоришь, как будто мы с тобой вместе работали много лет. :-) Ладно, мне пора идти. Всем удачного дня! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 11:50 |
|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
hVosttТем более, экранный размер, это примерная оценка, просто для того, чтобы можно было обратить на это внимание, но никак не жесткое требование.Вот именно об этом я и говорю, наконец-то ты меня услышал. Ладно, пока! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 11:51 |
|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
Алексей КЛадно, мне пора идти. Всем удачного дня! И тебе ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 12:04 |
|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
Roman Mejtesпросто примера ради, достался мне 1 проект, в проекте есть файлы по 5к строк кода! отладка и правка багов в этих файлах превращается в сущий АД. Потому, что перемещаться по файлу, искать нужный код, который уже есть, понимать, что конкретно выполняет этот класс невозможно. Потому, что этот класс делает всё, что угодно. И когда сталкиваешься с таким кодом, приходит чёткое понимание того, почему классы должны быть SOLID и реализовывать только тот функционал, который можно описать 1 предложением. Все эти 5 тысяч строк кода еще и на регионы разбиты, типа тут у нас методы, тут конструкторы, тут свойства и поля. Спасает только Bookmarks, навигация по коду и т.д. И то не шибко сильно. Код выполняет поставленные перед ним задачи. Но сопровождать такой код, полная жопа. При этом, так как у кода высокая связанность, разбить это в данный момент крайне сложно и контрпродуктивно. Я убью кучу часов просто на то, чтоб код стал читаемым и вменяемым. А часов у меня таких нет, от меня требуют решения проблем заказчика, а не решения проблем разработчиков. По этому, этот говно код останется там на веки вечные, пока не закончится жизненный цикл этого приложения. Всё это не важно, когда пишешь код для себя, но когда пишешь код и знаешь, что его могут поддерживать другие люди, старайтесь ориентироваться на эталонный код. А не считать, что любой код, это говнокод Значит этот код решает большую, но единственную проблему. А не то давно бы ты смог его растащить на "классы", нет там никаких классов просто. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 12:41 |
|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
Roman Mejtes5к строк кода! отладка и правка багов в этих файлах превращается в сущий АД. Потому, что перемещаться по файлу, искать нужный код, который уже есть, понимать, что конкретно выполняет этот класс невозможно. Потому, что этот класс делает всё, что угодно. И когда сталкиваешься с таким кодом, приходит чёткое понимание того, почему классы должны быть SOLID и реализовывать только тот функционал, который можно описать 1 предложением.Ну будет у тебя 1000 мелких классов с непонятными зависимостями между ними. Думаешь, станет легче? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 12:53 |
|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
Алексей КskyANAпропущено... А пример привести можешь того, в каком виде и куда должны быть заложены требования к качеству кода?Ты не понимаешь. Ещё раз. Требовать исполнение можно только в том случае, если требования чётко сформулированы НА БУМАГЕ. Всё остальное можно рассматривать только в качестве рекомендаций. Например, можно требовать соблюдения правил именования Camel Case , которые чётко описаны, сослаться на эти правила в ТЗ. Нужны ещё примеры?Конуретно у вас в каком виде они прописываются? Лично мы собрались, обсудили какие инструменты анализа кода будем использовать, как и какие правила там надо настроить. Поставили, настроили. Сейчас просо проект не соберёшь, если нарушаешь правила наименования. Для чего это в какое-то ТЗ писать? Также договорились, что без pull request-а нельзя изменения пушить. Настроили. И все изменения проходят code review. Для чего это в какое-то ТЗ писать? Также договорились как проводит технический анализ, техническое и архитектурное ревью. Зафиксировали правила в Wiki. И следуем им. Для чего это в какое-то ТЗ писать? Бюрократия какая-то. Мы тупо собираемся и договариваемся по каким правилам работаем, виксируем договорённости. И смотрим на то, соблюдаются они, или нет. И если нет, то разбираемся почему. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 12:59 |
|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
ViPRosЗначит этот код решает большую, но единственную проблему. Скажу, нам как-то удаётся решать большие и единственные проблемы без километров кода в одном файле, думаю в ответ услышу, дескать не такие уж и вселенские у вас решались проблемы. Ага, ага ViPRosА не то давно бы ты смог его растащить на "классы", нет там никаких классов просто. Нет такой задачи, растащить код на классы, просто чтоб растащить. Не надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 12:59 |
|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
Roman Mejtesпросто примера ради, достался мне 1 проект, в проекте есть файлы по 5к строк кода! отладка и правка багов в этих файлах превращается в сущий АД. Потому, что перемещаться по файлу, искать нужный код, который уже есть, понимать, что конкретно выполняет этот класс невозможно. Потому, что этот класс делает всё, что угодно. И когда сталкиваешься с таким кодом, приходит чёткое понимание того, почему классы должны быть SOLID и реализовывать только тот функционал, который можно описать 1 предложением. Все эти 5 тысяч строк кода еще и на регионы разбиты, типа тут у нас методы, тут конструкторы, тут свойства и поля. Спасает только Bookmarks, навигация по коду и т.д. И то не шибко сильно. Код выполняет поставленные перед ним задачи. Но сопровождать такой код, полная жопа. При этом, так как у кода высокая связанность, разбить это в данный момент крайне сложно и контрпродуктивно. Я убью кучу часов просто на то, чтоб код стал читаемым и вменяемым. А часов у меня таких нет, от меня требуют решения проблем заказчика, а не решения проблем разработчиков. По этому, этот говно код останется там на веки вечные, пока не закончится жизненный цикл этого приложения. Всё это не важно, когда пишешь код для себя, но когда пишешь код и знаешь, что его могут поддерживать другие люди, старайтесь ориентироваться на эталонный код. А не считать, что любой код, это говнокод "реализация новых требований проходит всё с большим количеством мата, но программа продолжает соответсвовать техническому заданию" © skyANA ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 13:01 |
|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
Алексей КНу будет у тебя 1000 мелких классов с непонятными зависимостями между ними. Думаешь, станет легче? Легче станет не от количества классов, а когда каждый класс будет решать свои задачи, и не нарушать принципы SOLID, DRY, KISS, без действительно обоснованных на это причин. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 13:01 |
|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
Алексей КПарамонТребования к качеству кода, как правило это внутренние требования, которые исходят от тех лида/архитекта и тп.Какая разница от кого они приходят. Я говорю о том, что они должны быть чётко сформулированы. Принципы SOLID для тебя достаточно чётко сформулированы? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 13:02 |
|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
skyANAБюрократия какая-то. Мы тупо собираемся и договариваемся по каким правилам работаем, виксируем договорённости. И смотрим на то, соблюдаются они, или нет. И если нет, то разбираемся почему. И главное. Знаем зачем и для чего это делаем, а не потому что кому-то там "промыли мозги". Без этого понимания, конечно, единственный способ для человека начать кодить хоть в какой-то части по уму, это тыкнуть его лицом в бумагу с требованиями, типа по ТЗ классы должны называться так, и код должен влазить на экран монитора босса ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 13:03 |
|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
Алексей КRoman Mejtes5к строк кода! отладка и правка багов в этих файлах превращается в сущий АД. Потому, что перемещаться по файлу, искать нужный код, который уже есть, понимать, что конкретно выполняет этот класс невозможно. Потому, что этот класс делает всё, что угодно. И когда сталкиваешься с таким кодом, приходит чёткое понимание того, почему классы должны быть SOLID и реализовывать только тот функционал, который можно описать 1 предложением.Ну будет у тебя 1000 мелких классов с непонятными зависимостями между ними. Думаешь, станет легче? 5000 строк разложить по 1000 классам? То есть по 5 строк в классе. Ты знаешь толк в проектировании ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 13:09 |
|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
Алексей КRoman Mejtes5к строк кода! отладка и правка багов в этих файлах превращается в сущий АД. Потому, что перемещаться по файлу, искать нужный код, который уже есть, понимать, что конкретно выполняет этот класс невозможно. Потому, что этот класс делает всё, что угодно. И когда сталкиваешься с таким кодом, приходит чёткое понимание того, почему классы должны быть SOLID и реализовывать только тот функционал, который можно описать 1 предложением.Ну будет у тебя 1000 мелких классов с непонятными зависимостями между ними. Думаешь, станет легче? И они все будут статик. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 13:21 |
|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
skyANAАлексей Кпропущено... Какая разница от кого они приходят. Я говорю о том, что они должны быть чётко сформулированы. Принципы SOLID для тебя достаточно чётко сформулированы? Да пофиг. Есть формальные подходы. Например, если метод вызывается только из одного метода, то такого метода не должно быть. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 13:26 |
|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
ViPRosИ они все будут статик. Сколько человек из активных разработчиков делали VIPROS? И сколько задействовано сейчас? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 13:26 |
|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
ViPRosНапример, если метод вызывается только из одного метода, то такого метода не должно быть. Почему? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 13:27 |
|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
hVosttViPRosИ они все будут статик. Сколько человек из активных разработчиков делали VIPROS? И сколько задействовано сейчас? ВИПРОС не могут делать "сколько человек" - для этого должно иметь ТЗ на ВИПРОС. Сейчас на работе несколько ВИПРОСов - трехзвенные, пятизвенные,.. (наша НОВАЯ платформа!!! Еще новее - прикрутили что то туда!!!) Я веду свой проект ВИПРОС, они свои (растаскивают как могут). ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 13:32 |
|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
hVosttViPRosНапример, если метод вызывается только из одного метода, то такого метода не должно быть. Почему? Потому что. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 13:32 |
|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
ViPRosВИПРОС не могут делать "сколько человек" - для этого должно иметь ТЗ на ВИПРОС. Странный ответ, речь-то про платформу, а не интеграцию. ViPRosПотому что. Видимо когда-то Алексей К получил точно такой же ответ на вопрос про размер функции в один экран, и осерчал ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 13:42 |
|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
ViPRosskyANAпропущено... Принципы SOLID для тебя достаточно чётко сформулированы? Да пофиг. Есть формальные подходы. Например, если метод вызывается только из одного метода, то такого метода не должно быть. А когда появляется необходимость вызывать метод, которого нет, ещё откуда-то, то просто копипастим код? Такой подход тоже используете? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 13:42 |
|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
skyANAViPRosпропущено... Да пофиг. Есть формальные подходы. Например, если метод вызывается только из одного метода, то такого метода не должно быть. А когда появляется необходимость вызывать метод, которого нет, ещё откуда-то, то просто копипастим код? Такой подход тоже используете? Как только появляется нужда копипаста и копипаст не внутри одного и того же метода (там всякие екшны ,функции выручают - когда скорость не так важна), появляется новый метод. Но, C# уже дошел до вложенных функций (есть делегаты, екшны, функции - но они медленные) и скорее всего я бы пользвался вложенными функциями в основном (но, я сижу на C# 4.0, не дают пользоваться благами). ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 13:52 |
|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
hVosttViPRosВИПРОС не могут делать "сколько человек" - для этого должно иметь ТЗ на ВИПРОС. Странный ответ, речь-то про платформу, а не интеграцию. ViPRosПотому что. Видимо когда-то Алексей К получил точно такой же ответ на вопрос про размер функции в один экран, и осерчал Не имеет самостоятельной ценности такие куски. Они сильно зависимы от контекста вызывающего метода. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 13:58 |
|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
ViPRosНе имеет самостоятельной ценности такие куски. Они сильно зависимы от контекста вызывающего метода. Ну так это совершенно другая постановка. Это из области over engineering. Не вижу проблем, выделить логический блок в приватный метод, даже если он вызывается один раз. Компилятор оптимизирует вызов, а читабельность и сопровождаемость это улучшит. Но если ценности нет, то конечно нафиг. Просто постановка: если у метода один вызов, метод не нужен -- это плохой критерий, может быть только как маркер, обратить внимание. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 14:13 |
|
|
start [/forum/topic.php?fid=20&msg=39673143&tid=1399295]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
153ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 345ms |
total: | 595ms |
0 / 0 |