Я смотрел выступление Рича Хики, автора Clojure, об упрощении программ. В то время как большая часть разговора казалась мне не по плечу, его главная мысль была мне близка. Он сказал, что мы, программисты, одержимы идеей «легкости», но вместо этого должны сосредоточиться на простоте. Г-н Хикки определил легко как «под рукой», то есть знакомое. Он определил простоту как выполнение одной задачи. Для меня это очень похоже на принцип единой ответственности (SRP) от SOLID. Насколько я понимаю SRP, когда у вас есть много мелких компонентов, каждый из которых отвечает за одну вещь, вносить изменения в вашу программу намного проще. Если все ваши компоненты переплетены в одну большую вещь, когда вы меняете эту вещь, вы рискуете испортить кучу вещей, которые на самом деле не имеют ничего общего с тем, что вы изменили. Однако, если они разделены, вы снижаете этот риск. Однако г-н Хикки сказал, что упрощение часто означает написание большего кода.

При планировании объектов и систем мы действительно должны стремиться сделать их максимально простыми. Особенно, как человек, который новичок в этой области, я думаю, что мне было бы очень полезно потратить время на планирование простого дизайна, прежде чем приступать к написанию кода. Если код написан простым способом, мне будет легче вносить в него изменения в будущем. Как человек, который все еще учится, я склонен немного изменять свой код, поэтому упрощение всего было бы очень полезно для меня.