Добрый день. Я занимаюсь web-разработкой и почти всем, что с этим связано.

Ошибки программистов

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

Префиксы

Иногда я встречаю таблицы с префиксом вроде «table» или «tbl». Неужели те, кто называют так таблицы, реально считают, что мы не догадаемся, на что смотрим? Эти же люди почему-то считают необходимым добавлять колонкам таблиц префиксы "column". На рисунке ниже можно наблюдать тихий ужас: стиль именования таблиц абсолютно хаотичный: таблицы с префиксами и без, имена с прописной и строчной буквы.

Неправильная структура базы данных
Неправильная структура базы данных

Также часто встречаются ненужные окончания колонок, например, «_id». Обычно так делают, когда в колонке содержится внешний ключ. Но в этом нет никакого смысла, ведь структура БД должна говорить сама за себя: как связаны таблицы и за что отвечают. Конечно, тут есть и свои исключения. Например, при использовании колонок с избыточными именами может облегчить работу со сложными запросами, использующими JOIN.

2. Документирование

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

На рисунке ниже приведены два метода. Возможно, в данном случае отсутствие документации не критично, но при написании кода всегда нужно вставать на место программиста, которому может перейти ваш проект: всё ли ему будет понятно?

Документирование кода
Документирование кода

3. Логика в представлении

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

4. Смешанные возвращаемые значения

Если функция при различных условиях может вернуть массив, логическое значение или строку, то, скорее всего, она написана неправильно. Допустим, при проверке корректности e-mail правильнее вернуть true или false, а не, например, сам e-mail или строку «успешно».

5. Разбивайте большие задачи на маленькие

Чем меньше функция, тем она применимее и переносимее. Если у вас есть функция, добавляющая статью на сайт, а внутри есть код для загрузки изображения этой статьи, то есть смысл вынести этот код в отдельную функцию. Наверняка он пригодится для загрузки изображения, допустим, не статьи, а баннера. К тому же, мелкие методы гораздо проще отлаживать у сопровождать.

Комментарии