Подачу знаний выбрал специально именно такую. Мне было не лень посидеть в гуглодоксе пару недель и набросать монументальный труд написанный сухим академическим языком, приевшимися примерами с грушами, которые наследуют абстрактый класс фрукт и агрегируют в себе десятки других объектов класса косточка.
Но надо ли? Кто это будет читать? Написал как умею — в стиле юношеского максимализма. Все прочли, все рады и довольны. Даже академики, которые посмотрят и презрительно скажут — «Пацан еще» и тролли, которые позабавятся над косяками в тексте.
Можно: Я за год вырос из быдлокодера в довольно сильного программиста, с объемной базой знаний и умением их применять, потому что осознал, что необходимо научится применять знания, прежде чем их применять.
Это все понятно, что частенько проще написать что-то свое за неделю, нежели орудовать напильником, что бы сделать то, что нужно. Необходимо понимание, где писать самому, а где читать документацию и пользоватся.
А многие считают что лучше абсолютно все писать самим. Наверное лишнего времени у них много…
Я не испытаваю ненависти, тем более открытой, к быдлокодерам. По большей части мне на них плевать. Если их устраивает их уровень знаний и они не хотят его повышать — это их проблемы (и правда проблемы сотен других людей, которые громко матерятся смотря на их код).
Меня просто немного раздражают их действия, когда я с ними сталкиваюсь. Вон, к примеру взять phpdude, превратившегося в тролля. Вроде начинал неплохо, даже топик сюда закинул, который запинусовали. Когда ему в комментах начали объяснять что он не прав — так скотился до уровня быдла, с криками «в метро книжки читают тока задроты-ботаники, а нормальные пацанатя на жопы баб глазеют». Получил еще с десяток минусов. Обиделся. Теперь вот троллит, наверное считая что все тут «пидары» и «задроты-ботаники».
И он такой не один, и не только на хабре, и не только в интернеха. Что с ними делать то?
Думаю этот момент наступил где-то в конце этой зимы. Как раз после прочтения Совершенного кода Макконнелла. Потом уже можно сказать была прокачка знаний в области архитектуры :)
А обижатся нечего — аналогию действительно пытался строить слегка притянутой, немного с иронией.
Я говорил немножко про другое. Про то, что мы можем одновременно использовать один компонент, только в одном месте — т.е. если у нас есть усилительный каскад, то он может использоватся только в одном компоненте этой схемы в одно время.
Ну, мтбшник получился из меня довольно хреновый, откатал только лишь один сезон. За который научился только банник дергать, серфить двадцать метров с падением на землю; да и пару раз левую ногу разодрал педалями. А потом почему-то разочаровался в этом всем… наверное не для меня это.
Начал учится с нуля после прочтения «PHP 5 для профессионалов», которая не дала мне того, что я от нее хотел. Хотя книга по сути неплохая. Обратился к интернетам, статьи, главы из книг. Да даже если походить по ссылкам из википедии — стати посвященной ооп, то можно найти море информации о том что такое ооп и как оно работает.
Книги начал читать уже потом. И советую вот эти:
Мартин Фаулер: «Архитектура корпоративных программных приложений»
Мартин Фаулер: «Рефакторинг. Улучшение существующего кода»
Джошуа Кериевски: «Рефакторинг с использованием шаблонов»
С. Макконнелл: «Совершенный код»
Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес: «Приемы объектно-ориентированного проектирования. Паттерны проектирования»
Алан Шаллоуей, Джеймс Р. Тротт: «Шаблоны проектирования. Новый подход к объектно-ориентированному анализу и проектированию»
Совершенно непричем. Такая ситуация наблюдается во всех сферах человеческой деятельности. Только к сожелению в мире php-программистов она уже давно стала нормой.
Не думал что кто-то еще сейачас использует Process killer. Думал я один такой, который пользуется древностью, написанной неизвестным (до прочтения этого типика) мастером.
Но как же от этой чтуки сложно отказаться, крайне удобная :)
Удобнее, но статически их вызвать не получится. Поэтому их используют обычно когда регистри синглтоном делают, а там можно и ArrayAccess прилепить и итератором сделать.
Было интересно, но это все так и осталось в виде идей, потому как натыкался на различные грабли в самых неожиданных местах, которые если и не вводили в ступор человека, то заставляли его долго матерится, потому что дальше продолжать в таком духе было бы просто невозможно.
Только я думаю еще стоит добавить методы exists и delete. К каждой функции добавить модификатор static, и в методах delete и get проверять вначале существует ли значение с помощью isset(), что бы не было лишних нотисов.
Как ни банально, но я четко ассоцирую написание кода со стоительством. Сказалось влияние родителей, книжек по строительству в которых были красивые для меня каритнки зданий, с различным описанием, непонятными цифрами, в разрезе\под разными углами\схематически, и долгих вечеров когда я собирал из лего кучу всего. В гораздо меньшей степени с написанием картины или музыки (это больше соотношу с дизайном).
А вот к примеру электроника у меня чотко ассоциируется с программированием. Только без повторного использования одних и тех же компонентов :)
1. В модулях все глобальные переменные объявлять вот так вот:
$_GLOBALS['имя переменной'] = 'чтонебудь'; //
2. Использовать регистри, в самом простом виде:
class Registry {
private static $collection = array();
public function set($name, $value) {
self::$collection[$name] = $value;
}
public function get($name) {
return self::$collection[$name];
}
}
В модулях писать так:
Registry:: set('название переменной', 'значение');
Но надо ли? Кто это будет читать? Написал как умею — в стиле юношеского максимализма. Все прочли, все рады и довольны. Даже академики, которые посмотрят и презрительно скажут — «Пацан еще» и тролли, которые позабавятся над косяками в тексте.
А многие считают что лучше абсолютно все писать самим. Наверное лишнего времени у них много…
Меня просто немного раздражают их действия, когда я с ними сталкиваюсь. Вон, к примеру взять phpdude, превратившегося в тролля. Вроде начинал неплохо, даже топик сюда закинул, который запинусовали. Когда ему в комментах начали объяснять что он не прав — так скотился до уровня быдла, с криками «в метро книжки читают тока задроты-ботаники, а нормальные пацанатя на жопы баб глазеют». Получил еще с десяток минусов. Обиделся. Теперь вот троллит, наверное считая что все тут «пидары» и «задроты-ботаники».
И он такой не один, и не только на хабре, и не только в интернеха. Что с ними делать то?
А обижатся нечего — аналогию действительно пытался строить слегка притянутой, немного с иронией.
Книги начал читать уже потом. И советую вот эти:
Мартин Фаулер: «Архитектура корпоративных программных приложений»
Мартин Фаулер: «Рефакторинг. Улучшение существующего кода»
Джошуа Кериевски: «Рефакторинг с использованием шаблонов»
С. Макконнелл: «Совершенный код»
Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес: «Приемы объектно-ориентированного проектирования. Паттерны проектирования»
Алан Шаллоуей, Джеймс Р. Тротт: «Шаблоны проектирования. Новый подход к объектно-ориентированному анализу и проектированию»
Но как же от этой чтуки сложно отказаться, крайне удобная :)
А вот к примеру электроника у меня чотко ассоциируется с программированием. Только без повторного использования одних и тех же компонентов :)
$_GLOBALS['имя переменной'] = 'чтонебудь'; //
2. Использовать регистри, в самом простом виде:
В модулях писать так:
Registry:: set('название переменной', 'значение');
Доставать соответсвенно так:
echo Registry:: get('название переменной'); // получим «значение».