среда, 19 сентября 2007 г.

О замене метода

Иногда я сохраняю старый метод, но для обработки в нем привлекается новый метод. Это полезно, если метод объявлен с модификатором видимости public, а изменять интерфейс других классов я не хочу.

Мартин Фаулер

суббота, 1 сентября 2007 г.

Стоит ли заниматься переименованием?

Стоит ли заниматься переименованием? Без сомнения, стоит. Хороший код должен ясно сообщать о том, что он делает, и правильные имена переменных составляют основу понятного кода. Не бойтесь изменять имена, если в результате код становится более ясным. С помощью хороших средств поиска и замены сделать это обычно несложно. Строгий контроль типов и тестирование выявят возможные ошибки. 

Запомните:

ПримечаниеНаписать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям.Очень важно, чтобы код сообщал о своей цели. Я часто провожу рефакторинг, когда просто читаю некоторый код. Благодаря этому свое понимание работы программы я отражаю в коде, чтобы впоследствии не забыть понятое.Мартин Фаулер

понедельник, 13 августа 2007 г.

Что такое рефакторинг?

В нашем сегодняшнем понимании разработки программного обеспечения мы сначала создаем дизайн системы, а потом пишем код. Сначала создается хороший дизайн, а затем происходит кодирование. Со временем код модифицируется, и целостность системы, соответствие ее структуры изначально созданному дизайну постепенно ухудшаются. Код медленно сползает от проектирования к хакерству.Рефакторинг представляет собой противоположную практику. С ее помощью можно взять плохой проект, даже хаотический, и переделать его в хорошо спроектированный код. Каждый шаг этого процесса прост до чрезвычайности. Перемещается поле из одного класса в другой, изымается часть кода из метода и помещается в отдельный метод, какой-то код перемещается в иерархии в том или другом направлении. Однако суммарный эффект таких небольших изменений может радикально улучшить проект. Это прямо противоположно обычному явлению постепенного распада программы.Мартин Фаулер

вторник, 10 июля 2007 г.

ECHO or PRINT

Вопрос который возникает у любого начинающего php программиста, когда он открывает для себя великую истину - "не все функции работают одинаково быстро", что быстрее print или echo? На самом деле любой мог бы сам это проверить. Но новичку эта идея не всегда приходит в голову.

Несколько коротких выводов из моего опыта и попутно упомяну несколько важных особеннностей:
  • быстрее echo, правда результат не назовешь стабильным. В моих экспериментах результат с единичным вызовом и множественной итерации сильно отличался
  • разница исполнения очень мала
поэтому плюньте и учитывайте только в действительно больших итерациях, правда и тут под вопросом, автор статьи по данной ссылке даже при 20 000 000 итераций добился лишь 0,16% выигрыша производительности. используйте то, к чему вы привыкли


Особенности:
  • print ведет себя как функция, то есть возвращает значение (int 1)
  • echo поддерживает вывод нескольких параметров разделенных запятой, что быстрее чем вывод с конкантинацией, который единственно доступен для print.

четверг, 5 июля 2007 г.

Новый блог



Меня почти не хватает на ЖЖ, но открытие ещё одного блога просто необходимо. Во-первых - это совершенно иная сторона моей жизни и засорять ею блог общения с друзьями не хочу.
Во-вторых это некие заметки на полях, которые тоже давно напрашивались.

Linux: генерация рандомной строки для пароля

 cat /dev/urandom | tr -dc '[:alnum:]' | fold -w ${1:-20} | head -n 1