«phpClub» — архив тем ("тредов"), посвящённых изучению PHP и веб-технологий.
Как оформлять код Аноним 2019/06/13 04:33:45  №1415605 1
grammar.png (56, 500x644)
644x500
Код нужно писать не как попало, а аккуратно и по правилам. Почему? Потому, что на неакуратно написанный код не хочется даже смотреть. Если каждый будет оформлять код как хочет, будет бардак.

Если тебе лень выравнивать код руками, закачай его на http://beta.phpformatter.com/ и нажми «format». Робот исправит выравнивание и отступы в мгновение ока (да, прогресс не стоит на месте). Если ты используешь мощную IDE вроде PhpStorm, там тоже есть функция форматирования кода.

Горячие клавиши для форматирования кода в разных IDE: https://gist.github.com/codedokode/8759492

Вообще, в PHP долгое время не было единого стандарта оформления кода, все писали как попало и было много бардака, но сейчас дело лучше — есть стандарты PSR-1 и 2. Вот как надо оформлять код:

- переменные и функции пишутся с маленькой буквы, подчеркивание не используется, используется camelCase, пример: $x, $numberOfPeople, printResults()
- Название функции начинается с глагола, в стиле «сделайЧтоТо»
- не знаешь английский? Не беда, в 21 веке есть решение этой проблемы. Не пиши транслитом, открой лучше Гугл Транслейт и найди название для переменной там
- в именах классов используется CamelCase, первая буква большая, «_» может использоваться
- мы предпочитаем подстановку переменных вместо конкатенации строк: "I am $age years old" — хорошо, 'I am ' . $age . ' years old' — плохо из-за обилия точек и кавычек
- мы используем для отступов 4 пробела (можно настроить редактор, чтобы при нажатии Tab он вставлял 4 пробела)

Вот ссылка на стандарты, где все это описано подробнее и даны примеры оформления:

PSR-1: https://github.com/samdark/fig-standards-ru/blob/master/accepted/ru/PSR-1-basic-coding-standard.md
PSR-2: https://github.com/samdark/fig-standards-ru/blob/master/accepted/ru/PSR-2-coding-style-guide.md

Ответы: >>1415616 >>1415622 >>1416161
Аноним 2019/06/14 04:27:04  №1416161 2
>>1415605
Зачем нужны четыре пробела, если есть таубляция? Ладно бы отбивалось одним-двумя пробелами, но визуально-то одно и то же!
Ответы: >>1416169 >>1416408
Аноним 2019/06/14 05:18:22  №1416169 3
1.png (3, 338x190)
190x338
2.png (5, 832x168)
168x832
Ответы: >>1416173 >>1416225
Аноним 2019/06/14 05:34:40  №1416173 4
>>1416169
А нахуя ты таб по 4 раза жмакал, долбоеб
1 таб = 4 пробелам визуально.
Аноним 2019/06/14 08:06:23  №1416225 5
>>1416169
Ширину табуляции в любой IDE настроить можно. Ставь хоть с пробел.
Мне вот таб легче нажать, чем как обезьянка пробел дрочить по 4 раза на строку, а то и больше.
Ответы: >>1416344
Аноним 2019/06/14 10:55:58  №1416344 6
>>1416225
Ну так по секрету, все так и делают, никто не дрочит пробел.
Ответы: >>1416375
Аноним 2019/06/14 11:35:11  №1416375 7
>>1416344
А что я постоянно эти вопросы встречаю везде?
Ответы: >>1416436
Аноним 2019/06/14 12:36:41  №1416408 8
>>1416161
В какой-то момент выбора между табами и пробелами вылезли художники-педерасты и начали пронзительно верещать, что они хотят что бы один и тот же код повсюду выглядел одинаково, в то время как табы по разному отображаются в различных IDE/редакторах. К сожалению, им не успели насрать на лицо и поэтому блядские пробелы теперь стандарт.
Ответы: >>1416422 >>1416733
Аноним 2019/06/14 13:05:04  №1416422 9
>>1416408
>табы по разному отображаются в различных IDE/редакторах
Какой-то хуёвый аргумент - они отображаются как настроено.
Что за инвалиды не могут сделать себе как нравится: хоть 1 отступ, хоть 8, если такой любитель? С пробелом такие штуки не получится вытворить.
Ответы: >>1416424 >>1416443 >>1416733
Аноним 2019/06/14 13:07:14  №1416424 10
>>1416422
А ещё IDE обычно с табуляцией немного код подравнивает, в силу своего ума. Пробелы тут тоже сосут.
Аноним 2019/06/14 13:25:19  №1416436 11
>>1416375
Потому что ты сидишь на борде для детей.
Аноним 2019/06/14 13:40:54  №1416443 12
>>1416422
>Какой-то хуёвый аргумент - они отображаются как настроено.
Вот именно. А пачке педиков было неприятно, что код, который они выравнивали в соответствии со своими художественными вкусами, у кого-то будет выглядеть по другому.
Ответы: >>1416458 >>1416558
Аноним 2019/06/14 14:16:55  №1416458 13
>>1416443
Ещё с табами можно динамически отображать вложенность операторов просто меняя ширину отступа, но не меняя при этом исходников.
Ответы: >>1416735
Аноним 2019/06/14 17:27:09  №1416558 14
>>1416443
Хуйня может получтся если табы с пробелами смешивать. Если ты отбиваешь отступы табами - ты не хочешь чтобы IDE меняло их на пробелы. Соответственно не подравнивай код пробелами иначе у другой макаки может хуита получится у которой ширина таба другая
Аноним 2019/06/15 06:03:21  №1416733 15
>>1416408
>>1416422

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

Ну и я не понимаю: если тебе хочется поменять величину отступов (странное желание, ну ладно), что тебе мешает делать это с пробелами? Напиши плагин к редактору, который будет при выводе заменять каждые N пробелов на M. И все будет настраиваться без всяких табов.

Ты пишешь "что за инвалиды...", а я не понимаю, что ты за инвалид, который не может написать элементарный плагин для изменения отступов при выводе.
Ответы: >>1416768 >>1416769
Аноним 2019/06/15 06:05:45  №1416735 16
>>1416458

То же самое можно элементарно делать в пробелами. напиши плагин к своему убогому редактору, который будет вместо N пробелов подряд выводить M.
Ответы: >>1416768
Аноним 2019/06/15 08:24:59  №1416768 17
>>1416733
>>1416735
>напиши плагин
Ты надеюсь понимаешь как это ебануто звучит? Вместо целевой разработки я должен заниматься переделкой IDE.
Толсто в общем.
Ответы: >>1416951 >>1416953
Аноним 2019/06/15 08:28:25  №1416769 18
>>1416733
>Напиши плагин к редактору, который будет при выводе заменять каждые N пробелов на M.
Уже есть такой плагин - табуляция.
Аноним 2019/06/15 17:15:32  №1416951 19
>>1416768

Ради тебя одного другие не должны испытывать неудобства. Менять величину отступа хочешь ты, потому и плагин писать придется тебе.

Меня пробелы полностью устраивают. Вот мне делать нечего, вместо того, чтобы думать над программой, думать, где я должен табы, а где пробелы ставить.
Аноним 2019/06/15 17:17:54  №1416953 20
>>1416768

Ну и насколько я знаю, элита /pr/ использует очень гибко конфигурируемые редакторы, под которые можно писать макросы на элитном языке со скобочками, для них такой плагин сделать, наверно, дело десяти минут.