29.06.2012 19:53 пользователь Артём Н. <artio...@yandex.ru> написал: > > 29.06.2012 00:41, Igor Chumak пишет: > > Примеров говнокода на одноименном сайте 100500. Некоторые вещи действительно > > выглядят как написанные наспор или под действием веществ, и как пример для > > неподражания не годятся. Некоторые - реальные простыни кода.. заниматься > > исследованием, что ж там накосячено - кусок работы. лучше хорошую книжку > > почитать, хотябы и о программировании;) > Ну, по крайней мере, в каждой хорошей книжке есть антипримеры. А на сайт тот я > как-то заходил. :-) > Вспомнил и вложил пример скрипта из той системы. Стоить заметить, что в качестве > интерпретатора используется (и давно, полагаю, до того, как они начали её > писать) ksh. > Он отлично понимает подстановки. > Но самое плохое - реализация архитектуры. Насколько я понял (из по-долбоёбски > написанной документации, по-другому не скажешь, т.к. читать этот местами > подчёркнутый жирный курсив, набранный с межсимвольным интервалом 1.5, маленьким > межстрочным, несоблюдением отступов и с ошибками, достаточно сложно), система > задумывалась, как совокупность независимых подсистем, просто пользующихся > услугами некоего "сервера БД", который сохраняет все данные в определённое место. > Потом данные берутся из архива и выводятся, либо, как real-time, либо как архив. > Идея была неплохая. Но получилась откровенная каша, которую практически > невозможно поддерживать. > Первые варианты, как мне сказали, заставляли людей постоянно мотаться из одного > места в другое, потому что что-то ломалось. Заказчик предупредил, что откажутся, > если её не перепишут. Они переписали. Откровенно хреново. Я даже не хочу > представлять, что было до этого. >
Сам код, как по мне, не ужасен;) Слегка удивляют конструкции вида if test $UDCS_PATH (В баше обычно еще ключик добавляют), а так все логично. Если переменная не определена - назначаем дефолтное значение. А общее впечатление - начали кодить до того,как определились с архитектурой, документацию писали пост- фактум.. Такое случается. И чем закзчику bacula не угодила? 2 человекодня на разворачивание. Написание своей системы с го и гейшами полюбому займет значительно больше времени. Даже покупка нехалявной системы может обойтись дешевле;) -куть . Ещё неплохо > уметь бы оценить время выполнения алгоритма и самому уметь вывести какую-нибудь > сортировку Хоара (не зная об оригинале). Хотя это так, мои дурные размышления. %-) Если сортировку Хоара уже придумали - смысл ее открывать повторно??