Моя компанія (невелика, приблизно 40 людей у трьох офісах) періодично проводить "майстер-класи для розробників" в Інтернеті, де один із розробників проводить презентацію з якоїсь технічної теми. Це не обов'язково стосується нашої роботи, а просто допомогти кожному вдосконалити свої вміння та розуміння.
Мене попросили прийняти наступний, і тема (вибрана зі списку, який я надав) - це стиль коду та шаблони дизайну. Я знаю, що ці речі не так тісно пов’язані, але мене несуть. Я бачив багато місць у нашій кодовій базі, які можна було б покращити, деякі з яких навіть можуть бути кваліфікованими для DailyWTF, тому я хочу, щоб ця презентація була максимально ефективною. Проблема в тому, що я просто не знаю, що саме покривати за одну годину.
Моя перша ідея - використовувати власний код як приклад, щоб привести додому пункт "будь ласка, застосуйте це до своєї роботи". Але тема настільки широка.
Деякі речі, неправильні з нашим кодом (PHP), включають:
- Мінімальний ОО. Останнім часом воно покращується, але все ж є багато тонн глобальних функцій. Щоб знайти речі, мені потрібно певний час.
- Глобальна конфігурація (думка, напевно). Ви можете знайти $ GLOBALS ['blah], розкиданий майже по кожному файлу.
- Невідповідний брекет-стиль. Звучить мінімально, але це насправді призвело до того, що п’ять днів тому синтаксичну помилку підштовхнули до початку, яка ще не була виправлена станом на вчора.
- Неефективні конструкції. Мені вдалося зробити кілька основних вдосконалень, які скоротили час роботи в деяких районах на 70%.
Я хочу, щоб ця річ була максимально корисною, не звучаючи поблажливих моїх колег. Тож на які аспекти "стилю" варто звернути увагу, і які дизайнерські моделі можуть бути найбільш корисними для пояснення?