Здравствуйте, GhostCoders, Вы писали:
GC>Данный код был написан моим сотрудником. Мне этот код не нравится, но он мне отвечает что я субъективен и его код неплох.
Посмотрел небольшой кусочек.
Если оценивать по внешнему виду — да, не фонтан (смешение гуи и логики,
длинные методы, местами магические числа, ...).
Но если смотреть на суть (сложная вычислительная геометрия), то код весьма и весьма неплох
и производит впечатление реально работающего. Бывает намного-намного хуже, и дело даже
не в "лапше" и однобуквенных переменных, а в потенциальных багах, вызванных непониманием
особенностей вещественных чисел, логических ошибках, не учтением краевых случаев, делений на 0 и т.п.
В целом, возникло ощущение, что крутого математика-алгоритмиста зачем-то посадили писать продакшн-код.
На мой взгляд, его дело — придумывать и описывать (может быть, в виде прототипа) алгоритмы,
которые 99% "стильно пишущих" программистов даже не поймут, не говоря уже о том, чтобы придумать
это самим (к RSDN эта статистика не относится
).
Это и не был продакшн-код, в смысле, моему заказчику нужен был работающий бинарник, а не код. Другое дело, — начальству нужен был "красивый" код, чтобы показать боссу. Я не против писать "совершенный" код, только это делается вовсе не быстро, и не всегда способствует быстроте разработки. Ну и потворствовать лентяям, которым надо "с первого взгляда" понять, где баг, тоже нет резона. Во всяком случае, этот код в сравнении с , например, boost::Graph при поиске бага будет ничем не хуже (а Graph ничем не лучше).
Причина, стало быть, чисто формальна.