Информация об изменениях

Сообщение Re[27]: C# ждет участь Delphi? от 19.02.2022 9:15

Изменено 19.02.2022 9:22 kaa.python

Re[27]: C# ждет участь Delphi?
Здравствуйте, Serginio1, Вы писали:

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

S> Даа уж. Я так буду доолго писать!

Зато цена поддержки сильно ниже и регрессии сразу отслеживаются, а не уже в проде. Что за хуяк-хуяк и в продакшн?

KP>>Логи — это для отладки сложной, распределенной системы, поведение которой зависит от потоков данных.

S> Не только. Прежде всего от кучи параметров и их сочетания. Это из NP-полная задача которую просто невозможно покрыть тестами.

Всё можно покрыть тестами в достаточном объеме для предотвращения регрессий.

KP>>Код хорошо покрытый тестами и логами в отладке не нуждается.

S> Напомню про NP-полная задача. Да и как ты собираешься покрывать например печать? отрисовку итд.

С печатью не уверен, но я бы попробовал печатать в PDF и сравнивать с ожидаемым образцом. Отрисовка — тут ничего не скажу, я вообще не спец по UI.

S>Как ты в тестах поймешь, что нарисовано, напечатано правильно?


В ряде случаев поможет сопоставление с образцом. В других случая — стоит спросить того кто и в современных методологиях разработки и в UI хорошо разбирается. Я ничего не могу про UI сказать.

S> Еще раз напомню про NP-полная задача. А на самом то деле они практически все такие. Слишком много параметров.

S>И на написание тестов уйдет больше времени, чем на написание программы!

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

Пока у меня ощущение, что если подход к разработке "хуяк-хуяк и в продакшн", то без отладчика никуда. Но так нельзя, так не возможно написать надежное и поддерживаемое приложение. И чсх, это делает утверждение "без VS не возможно разрабатывать" довольно забавным, я бы это переписал как "VS помогает говнокодить".
Re[27]: C# ждет участь Delphi?
Здравствуйте, Serginio1, Вы писали:

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

S> Даа уж. Я так буду доолго писать!

Зато цена поддержки сильно ниже и регрессии сразу отслеживаются, а не уже в проде. Что за хуяк-хуяк и в продакшн?

KP>>Логи — это для отладки сложной, распределенной системы, поведение которой зависит от потоков данных.

S> Не только. Прежде всего от кучи параметров и их сочетания. Это из NP-полная задача которую просто невозможно покрыть тестами.

Всё можно покрыть тестами в достаточном объеме для предотвращения регрессий.

KP>>Код хорошо покрытый тестами и логами в отладке не нуждается.

S> Напомню про NP-полная задача. Да и как ты собираешься покрывать например печать? отрисовку итд.

С печатью не уверен, но я бы попробовал печатать в PDF и сравнивать с ожидаемым образцом. Отрисовка — тут ничего не скажу, я вообще не спец по UI.

Подумал немного. Если говорить про печать, то сама фактическая печать это вызов 1-2 внешний API не имеющих отношения к твоей системе. В то время как подготовка данных для печати — это как раз логика работы твоего приложения. Если ты покроешь тестами подготовку данных, то саму печать (те самый 1-2 строчки кода) можно в тесте и проигнорировать. Всяко для UI приложения будет делаться минимальная регрессия в ручном режиме.

S>Как ты в тестах поймешь, что нарисовано, напечатано правильно?


В ряде случаев поможет сопоставление с образцом. В других случая — стоит спросить того кто и в современных методологиях разработки и в UI хорошо разбирается. Я ничего не могу про UI сказать.

S> Еще раз напомню про NP-полная задача. А на самом то деле они практически все такие. Слишком много параметров.

S>И на написание тестов уйдет больше времени, чем на написание программы!

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

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