Очевидно, деякі програмісти прагнуть показати, наскільки вони розумні, зробивши якийсь шалено складний код, який ніхто не може зрозуміти. Інші програмісти стріляють на такому високому рівні, що ускладнення в рішеннях - це природна еволюція.
Одним з найгірших кодів, які я коли-небудь бачив, був метод, який містив у ньому понад 2000 рядків коду. Без сумніву, цей код був складним, але він також був дуже бідним.
Я думаю, що хороший програміст уникає надмірно складного коду. Це включає уникнення спокуси змусити шаблон дизайну вписатись у рішення, яке насправді цього не вимагає. Це також включає уникнення об'єктів Бога, магічні кнопки, передчасну оптимізацію, передчасне узагальнення та інші анти-шаблони.
Я постійно переглядаю і шукаю можливості спростити свої рішення, оскільки зростання складності - це органічна річ. Як і багато інших органічних речей, її потрібно обрізати і підрізати, якщо ми хочемо, щоб вона і надалі була корисною. Я ненавиджу взаємодіяти з надмірно складними рішеннями, оскільки зі збільшенням складності збільшується ймовірність порушення коду.
Я думаю, що читабельність є найважливішим елементом обслуговування коду, а надмірно складні рішення майже завжди знижують читабельність та збільшують витрати на обслуговування.