О культуре программирования


О культуре программированияЕсли у вас сломалось авто и вы сдали его в сервисный центр, что через определенное время, после диагностики, вам скажут все: и что сломалось, и по каким причинам это произошло, и сколько будет стоить «лечение». Почему это возможно? Все автомобили и их детали схожи, назначение их вполне ясно, и то что сломалось у вас скорее всего ломалось уже у кого-нибудь другого, соответственно, кто-то это уже устранял, методы ремонта ведь однотипные.

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

Если бы архитектура программ была столько же логична и понятна, как и двигатель автомобиля, то в случае появления неполадок было бы легко определить их источник, назначение которого известно. Конечно, на словах все выходит легко, а на деле каждая проблема индивидуально, но одним из решений этой глобальной для программистов проблемы является шаблонное проектирование. Шаблоны проектирования серьезно повлияли на развитие информационных систем вообще и на рождение сервис - ориентированной архитектуры в частности.

Конечно, сравнивать серийный продукт и результат работы на заказ сравнивать неуместно, но все-таки… С этими программами работают такие же как и мы с вами люди.

Первое, что стоит осветить, - не только автомобили являются типовыми по своему устройству. А второе – все разнообразие и многообразие назначений компьютерных программ никак не влияет на конечность множества блоков функций, из которых они «сделаны». А уж эти блоки, в свою очередь, могут и должны разрабатываться по вполне определенным правилам, позволяющим легко и просто разбираться в их функциональном назначении даже тем, кто к разработке данного кода не имеет ни малейшего отношения.

Если мы не будем аккуратно и правильно проектировать программы, то в итоге они начнут проектировать нас.


Только материалы из рубрики ТИЦ свободны для копирования без каких-либо условий. Ссылка на остальные материалы обязательна.