Соглашения об именах

Popoff

popoff.donetsk.ua
Соглашения об именах

Есть статья "Соглашения об именах":
http://popoff.donetsk.ua/text/work/prg/naming.html

Основные пункты:
- сформулированы основные требования к именам в программах
- рассмотрен способ расстановки слов в именах с целью иерархической организации имен
- рассмотрен способ выбора слов, используемых в именах

Большие/маленькие буквы, способ разделения слов и т.п. детали не рассматриваются.

Может, кому-нить будет интересно что-нибудь добавить или поменять?
 

Nirva

Dmitry Polyakov
1. Сайт в дауне.
2. религиозная война, обсуждению не подлежит. я _почти_ полностью склоняюсь к варианту предложенному автором в одном (1-2-3, если не ошибаюсь, где-то там) из номеров инсайда.
 

Popoff

popoff.donetsk.ua
Нашел этот номер инсайда:
http://detail.phpclub.ru/download/feb2004/phpi0_2004.pdf

Война - это когда предлагают выбрать, что правильнее "GetHTMLStatistics" или "GetHtmlStatistics"; использовать подчеркивания или нет. Как по мне, то это личный выбор каждой отдельной группы людей, работающих над одним проектом. Я специально в примерах в своей статье приводил разные примеры (с подчеркиванием, большими/маленькими буквами и т.п.).

Лично я больше склонен использовать в именах в качестве разделителей подчеркивание, однако это не означает, что это правильно/не правильно. Это означает, что в моих проектах ВЕЗДЕ используется именно символ подчеркивания. Я к нему привык, с ним, мне кажется, проще увидеть, где разделяются слова. Однако, это только мне так кажется, другим может так и не казаться.

Я в статье рассматриваю не стандарт на кодирование имен. Я рассматриваю способ выбора слов в именах и способ расстановки этих слов вименах.

1. Сайт в дауне.
%-) Он умер непосредственно в момент отправки мной первого сообщения %-) Интересное совпадение %-)
 

Nirva

Dmitry Polyakov
угу, ее.

-~{}~ 22.10.04 11:43:

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

tony2001

TeaM PHPClub
>к сожалению, у меня даже идеи нет как возможно реализовать хоть какую-нибудь стандартизацию кода.
заставлять человека переписывать код.
стоять сзади и давать подзатыльники за попытки отойти от стандартов.
 

Nirva

Dmitry Polyakov
tony2001, мне достаются проекты, о разработчиках которых я ничего не знаю, а тех, кто заказывает подобного рода проекты мало интересует, как оно работает, не говоря о том, что они вряд ли понимают что-либо в пхп. хотя на самом деле встречается не только плохое. есть действительно интересные вещи. а насчет податыльников - вот бы хорошо :) каждому программисту - по спец человеку, который бы раздавал подзатыльникик за пробу отойти от стандарта.
 

Popoff

popoff.donetsk.ua
очевидно, что работа с чужими проектами - это сплошная головная боль. очевидно так же, что первая очевидность очевидна только для тех, кто работает с чужими проектами. для народа, который не пытался работать с чужими проектами, это может оказаться не так очевидно %)

на самом деле нет вопроса о том, как сделать так, что бы работа с чужими исходными кодами не была головной болью.

я предложил способ составления имен. я пользуюсь этим способом давно, и мне он кажется удобным. проведенное мной исследование показало, что на те моменты, на которые я обратил внимание в своей статье, внимания не обращают; лишь некоторые, очень немногие моменты (например, с использованием сокращений в именах) были затронуты на сайте майкрософта. большей частью то, что я предложил стандартизовать в своей статье, в остальных статьях оставляется на выбор читателей.

предложенный мной способ логичен, и отчасти уже используется (например, в пхп все функции работы с MySQL начинаются с префикса mysql_). Все, что сделал я - это сформулировал идею о том, почему первым словом в приведенном мной примере нужно ставить именно "mysql_", а так же распространил эту идею на все остальные слова имени.

-~{}~ 22.10.04 12:52:

Хочешь изменить мир - начни с себя!
(с) Народная мудрость
Зачем ругать тех, кто пишет плохой код? Есть ли в этом смысл? Начнут ли они от этого писать хороший код? Все, что мы можем сделать - это показать им своим примером, как нужно действовать :)
 

Nirva

Dmitry Polyakov
Popoff
такая же головная боль, как и получение опыта. на самом деле - это здорово настолько, насколько и бывает плохо. иначе бы меня тут не было :)

насчет mysql_ и принадлежностей. думаю, в конечном счете тоже зависит от контекста, хотя я пользуюсь подчеркиваниями исключительно в именах ключей ассоциативного массива и именах констант. действительно, хорошее решение, что тут еще можно сказать. для конкретно взятого кода, где такое разделение бы было нужным.
 

Screjet

Новичок
У tony2001 описаны удачные стандарты оформления кода. Чего еще чтото изобретать?
 

tony2001

TeaM PHPClub
только сразу скажу, чтобы не было недоразумений:
там не стоит ссылка на оригинальный вариант стандарта (автор не я, ессно).
я щас найду и поставлю ссылку.
 

advocat

developer
На само деле, это не стандарты, а всего лишь рекомендации по написанию кода. хотя если вспомнить, есть еще http://pear.php.net/manual/ru/standards.php , и я думаю не стоит об этом забывать.

Я лично использую некий каламбур этих 2х негласных стандартов (рекомендаций) :)
 

zumo

Guest
вобще правила созданы чтоб их нарушать - и если програмист привык писать в своём стиле то тут никакие пряники не помогут
и вобще хватит разводить флейм на тему :
if(1){
}
или
if(1)
{
}
 

korvin0

моська
А вот кто-нить может мне тут объяснить, почему везде советуется для отступов юзать на табуляцию, а пробелы?
 

jonjonson

Guest
korvin0, потому как не все редакторы одинаково относятся к табуляции, например хотябы по соответсвию ее числу пробелов (2 или 4 или 8). При этом к числу пробелов они относятся одинаково.
 

Screjet

Новичок
Но почти все редакторы имеют настройку, скольким пробелам соответствует таб :)
 

korvin0

моська
Но почти все редакторы имеют настройку, скольким пробелам соответствует таб
имхо, поэтому и нужно использовать таб: можно настроить отступы так, как тебе нравится.
кроме того, символ табуляции весит 1 байт, а 4 пробела - 4 байта. для скрипта в 500 строк код от пробелов может "потяжелеть" уже на 500*3 = 1,5kb, что не есть гуд.
 

MiRacLe

просто Чудо
....а если писать без пробелов, tab-ов и переводов строк, убрать недоедливые кавычки то скрипт полегчает раза в 3....

"Экономия на спичках.Том 7" под редакцией korvin0
 

korvin0

моська
MiRacLe
готовые скрипты лучше действительно ужимать сильнее, только для этих целей лучше подходит zend optimizer :D
Ну что, кто-нить приведет довод в пользу пробелов?
 
Сверху