Я працював з PHP роками і дуже добре зрозумів мову, створив багато прогресивних і не дуже просунутих систем, які працюють дуже добре.
Проблема, з якою я стикаюся, полягає в тому, що я вчуся лише тоді, коли виявляю потребу в чомусь, чого раніше не вчився. Це змушує мене шукати рішення та інший код, який обробляє проблему, і тому я дізнаюся про нову функцію або структуру, яких я раніше не бачив. Саме таким чином я навчився багатьом своїм кращим методам (наприклад, вивченню занять, що проводяться Amazon, Google чи іншими великими компаніями).
Основна проблема в цьому полягає в концепції неможливості чогось навчитися, якщо ви не знаєте, що воно існує. Наприклад, мені знадобилося кілька місяців програмування, щоб дізнатись про empty()
функцію, і я просто перевірив би довжину рядка, використовуючи strlen()
для перевірки порожніх значень.
Зараз я починаю створювати все більші та більші системи, і я почав читати такі блоги, як highscalability.com, і досліджував реплікацію MySQL та дані сервера для масштабування. Я знаю, що структура вашого коду дуже важлива, щоб повноцінні системи працювали.
Прочитавши нещодавній блог про структуру reddit, це змусило мене задуматися, чи існують там якісь стандартні чи "прийняті системи".
Я розглядав фреймворки (я використовував Kohana, про що я шкодував, але вирішив, що фреймворки PHP не для мене), і я віддаю перевагу власній бібліотеці функцій, а не фреймворку.
Моя поточна структура - це поєднання WordPress, Kohana та моїх власних знань.
Способи, які я бачу як потенційно вигідні:
- Читати блоги
- Прочитайте підручники
- Працюйте з кимось іншим
- Читати книгу
Який найкращий спосіб (-і) перейти на наступний рівень - бути дуже хорошим розробником системи?