«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/13 06:17:54  №1415622 2
>>1415605
>PSR-2
>4.3. Методы
>Открывающую фигурную скобку НЕОБХОДИМО располагать на отдельной строке
Насколько часто это соблюдается на практике? Я бы не хотел так писать, например.
Ответы: >>1415625 >>1415632
Аноним 2019/06/13 06:29:53  №1415625 3
>>1415622
скажем так, если я вижу, что кто-то в методе написал открывающую скобку на одной строке с сигнатурой, то он либо тупой поскольку не знает стандартов либо долбоеб который не хочет принимать общепринятые условия и в упрек всем пишет "так как ему нравится".

Ты надеюсь понимаешь, что если бы каждый писал так как ему нравится, то у каждого код был бы написан в разном стиле и сложнее было бы понять другого человека, для этого стандарты и придумали
Ответы: >>1415627
Аноним 2019/06/13 06:32:41  №1415627 4
>>1415625
Хорошо, но ты проигнорировал главный вопрос:
>Насколько часто это соблюдается на практике?
Ответы: >>1415649 >>1416594
Аноним 2019/06/13 06:55:18  №1415632 5
>>1415622

Я пишу на новой строке. Просто пиши как в Симфони, и проблем не будет.
Аноним 2019/06/13 07:42:34  №1415649 6
>>1415627
Вместо задавания глупых вопросов сходи на гитхаб и посмотри топовые либы - как они написаны.
Ответы: >>1415660
Аноним 2019/06/13 07:53:14  №1415660 7
>>1415649
>как они написаны
Очень хуёво написаны. Я не хочу делать также, отсюда вопрос: если допустить, что я не буду делать топовые либы для всеобщего пользования, насколько критичным будет игнорирование данного пункта стандартов? Иными словами, в отдельно взятых командах могут быть "свои" стандарты, как мне докладывали. Вопрос в том, насколько часто они идут вразрез с PSR* и насколько вообще будут доёбываться до его несоблюдения.
Ответы: >>1415664 >>1415666 >>1415685
Аноним 2019/06/13 07:56:04  №1415664 8
>>1415660
>Очень хуёво написаны.
Свой код покажи.
Ответы: >>1415665
Аноним 2019/06/13 07:57:11  №1415665 9
>>1415664
Ты понял, что я имел в виду.
Ответы: >>1415667
Аноним 2019/06/13 07:57:59  №1415666 10
>>1415660
Алсо, я бы тебя в команду не брал - ты какой-то слишком тупорогий не понимаешь элементарных вещей.
Ответы: >>1415686
Аноним 2019/06/13 07:59:08  №1415667 11
>>1415665
Я не уверен, что у тебя есть вообще какой-то опыт в программировании. Своё мнение можешь в одно место засунуть.
Ответы: >>1415669
Аноним 2019/06/13 08:00:58  №1415669 12
>>1415667
Что ты хочешь-то от меня?
Я задал вопрос, если ты не намерен на него отвечать - просто иди нахуй.
Ответы: >>1415670
Аноним 2019/06/13 08:01:23  №1415670 13
>>1415669
Ясно. Зелень ебаная.
Аноним 2019/06/13 08:32:23  №1415685 14
>>1415660

Давай посмотрим объективно: какая ценность в том, что ты пишешь код в другом стиле? Никакой, просто тебе так больше нравится. Это не аргумент, в любой команде предпочтут использовать PSR вместо потакания чьим-то личным вкусам. В open source проекте это приведет к тому, что люди будут задавать вопросы по поводу нестандартного стиля и слать pull request в стиле PSR.

Самым простым и адекватным решением будет не выпендриваться и перейти на PSR. Это не так сложно, как кажется.
Ответы: >>1415690 >>1415692 >>1415703
Аноним 2019/06/13 08:33:45  №1415686 15
>>1415666

Не надо переходить на оскорбления. Он к тебе в команду и не напрашивался.
Ответы: >>1415700
Аноним 2019/06/13 08:38:18  №1415690 16
>>1415685
в опенсорс проекте просто пошел нахуй если твой код не в том кодстайле что и проект
Аноним 2019/06/13 08:40:39  №1415692 17
>>1415685
А на практике никто не особенно не докапывается до кодстайла потому что есть строки и они как правило горят, если ты будешь коллеге закрывать PR потому что у него скобки не так стоят, когда у него прод лежит и ему надо срочно запушить ты навлечешь на себя много нелюбви. Потому PRS крайне желателен, но не всегда обязателен.
Ответы: >>1415703
Аноним 2019/06/13 08:47:27  №1415700 18
>>1415686
А я твоих советов не спрашивал. Иди нахуй.
Аноним 2019/06/13 08:50:32  №1415703 19
>>1415685
>просто тебе так больше нравится
Достаточное условие, чтобы начать так делать, если это не создаст никому серьёзных проблем. В чём и был вопрос. Судя по всему, он был задан очень непонятно, хуй его знает.
Не так сложно, безусловно. Но если можно этого не делать - я бы предпочёл не делать.
> В open source проекте
есть гайд для контрибьюторов, где такие вещи, как кодинг стайл, обычно описываются, если они неочевидны. Ну и, конечно же, некоммерческие проекты, которые я сам выбираю, на чём делать, я бы в жизни не выбрал делать на вашей пыхе.

>>1415692
Спасибо, буду иметь в виду и класть хуй на стандарты.
Ответы: >>1415705
Аноним 2019/06/13 08:53:45  №1415705 20
>>1415703
>Спасибо, буду иметь в виду и класть хуй на стандарты.

Просто нажимаешь ctrl+alt+l и не имеешь проблем и никому не ебешь мозги
Аноним 2019/06/14 18:29:20  №1416594 21
>>1415627
>Насколько часто это соблюдается на практике?
кем? В любой нормальной фирме с нормальными программистами придерживаются стандартов.

Если ты кодишь для себя и никто с твоим кодом работать не будет кроме тебя, то пиши как хочешь, а в противном случае придерживайся стандартов.
Ответы: >>1416628
Аноним 2019/06/14 19:35:12  №1416628 22
>>1416594
>Если ты кодишь для себя
Я сначала так и хотел, когда начинал. Теперь только по рекомендациям и пишу - там многие мелочи за меня продумали. Совсем ленивый стал.