Хотелось бы задать несколько вопросов, которые на мой взгляд лично для меня являются важными.
1) Стоит ли вносить в привычку использование порталов такие как StackOverFlow и прочее (где на определенный вопрос есть конкретный ответ)? Поясню. Например, у меня есть задача - необходимо разработать модуль, который будет взаимодействовать с внутренней памятью игры и внешней сетью. Для этого я могу либо ввести в Google точный вопрос (а как-же создать такой модуль), либо могу делать иначе. Например следующие запросы "Wiki - сетевое приложение", "Нюансы сетевого программирования", "Использование сети в Reverse Engineering" и прочее. То-есть, по факту, я не буду знать точной модели реализации моей системы. Но, я реализую эту систему за счет изучения охватывающих мою задачу областей.
2) Этот вопрос касается велосипедов. Например, я хочу для своей игры написать GUI интерфейс. Правильным ли будет, если я буду сидеть несколько часов и проектировать / реализовывать классы и прочее, которые УЖЕ есть в интернете? Конечно, можно сделать CTRL-C + CTRL-V, но от этого ноль толку.
Третий вопрос - индивидуальный для отвечающего. Как Вы лично сами подходите к разработке какого-либо механизма декомпозиции? Предпочитаете ли искать решение на StackOverFlow (где обычно есть готовый код), или-же уделяете достаточно много времени на матчасть?
Вы начните делать, а там как пойдет. Даже если вам тут дадут "золотой" ответ от гуру программирования, вы все равно не сможете ему следовать, ибо у вас свой путь, своя скорость работы, свое мышление и свой уровень перфекционизама.
Я тоже любил очень много теоритезировать. Задавал (да и сейчас задаю иногда) кучу вопросов на форумах/SO, прежде чем приступить к работе. Всегда хочется начать сразу правильно. Но реалии таковы, что куда эффективней будет начать неправильно, но начать сразу.
Стоит найти золотую середину. А то можно растечься мыслью по древу и год делать hello world.
В целях самообучения — правильно. В целях коммерческой разработки — неправильно. Я вот, например, сейчас в webgl делаю вращающийся куб с 0. Пытаюсь понять как это все работает. Парсю obj-файл сам. В тоже время, существует TREE.js где все это уже давно реализованно и куда лучше.
По разработке сайта: пишу сам (используя фреймворк, конечно). Но, если мне, например, надо подключить платёжную систему / смс / и т. д. — я лезу на github, ведь там гораздо лучше решения, созданные сообществом, чем я смогу сделать
Anton Mashletov, Ну если все кишки в библиотеке инкапсулированны внутрь и есть удобный документированный интерфейс для них, то почему бы и нет. Иначе так можно и до исходного кода самого PHP дойти.