Comments 37
ближе snake_case однако не слышал что это «правила хорошего тона»
Первая ссылка в google по «sql style guide»:
Use underscores where you would naturally include a space in the name (first name becomes first_name).
Если честно я совсем не понимаю что все придрались к именам таблицы и полей, если вам никто не мешает использовать какие-себе хотите. Уже больше 20 комментов, ни один по фреймворку и коду, а все о камелКейсе
У меня данные из MySQL базы данных, через Active record на PHP загружаются в объект JS и рендерятся на клиентсайде в HTML5.
Вопрос: какой стайлгайд мне использовать? Или на каждом уровне свой?
PS Использую camelCase на всех уровнях.
P.S. И да, я считаю, что писать согласно общепринятому для языка стайлгайду — это правило хорошего тона. Для PHP это PSR, для Python это PEP 8, для Javascript это гайд от Airbnb (несмотря на то, что он неофициальный, его придерживаются очень многие).
сразу с БД отправлять в джаваскрипт
А потом, когда у вас поменяется название поля в БД, вы будете по всему JavaScript-коду его тоже исправлять?
ИМХО, более-менее серьезные проекты должны использовать что-то вроде https://github.com/thephpleague/fractal
Всегда было интересно посмотреть список этих "некоторых БД", где проблема с camalCase, чтобы никогда с ними не сталкиваться.

Ну так оттюнить можно по-разному почти что угодно, наставить плагинов, ещё чего-нибудь. Не суть.
Более жизненный пример: Напишет кто-то поле userName
с камелкейсом в БД, а внутри самого кода другой человечек будет писать $entity->username
, потом окажется что потребуется переезд на новую БД, т.к. этот сервак сгорит к чертям (у меня такое было, когда БД повреждалась, благо реплика была). А там этот флаг стоит и весь код накрылся, догадывайся только почему username
не отображается (значение null в популярных AR для доступа к неизвестным полям моделей). Удачной отладки, называется. Ну а в случае выборки SELECT username FROM ...
— вообще все запросы накроются, т.к. мол поле username
не найдено.
Сама суть в том, что работа программиста — это не только писать код, но и думать о будущем своего кода, в каких ситуациях и каких задачах он будет использоваться и проще уж выработать привычку в БД всегда хранить андерскор поля, благо это не сложно и не потребует никаких усилий, а не разбираться в возможных проблемах уже после того, как они случаются.
Работаю с mysql поля в camelCase и не было проблем.
Вопрос: что я делаю не так?
Ога ога......
Расскажите это разработчикам на JS: согласно code conventions там переменные и функции надо называть в camelCase, а переменные TeSt1 и test тоже внезапно будут разные.
Расширенный скелет проекта PHPixie с аутентификацией и админкой