качество кода это такой параметр который сложно описать двумя предложениями.. тут даже хорошая книга мало поможет так как обязательно иметь достаточно опыта для этого - минимум лет 5 а лучше 10.. тогда это уже делается на каком-то интуитивном уровне - иногда смотришь код, вроде все нормально.. красиво но вот какое-то левое чувство говорит что что-то тут не так.. и только после детального анализа видишь что да, действительно есть серьезный баг в этом месте..
некоторые вещи по которым можно судить о качестве кода:
- кодировка - в опенкарте это UTF-8 по умолчанию, но некоторые разработчики, которые видимо пишут код из-под виндового блокнота сохраняют все в CP1215
- форматирование - то о чем начинающие программисты часто забывают, им кажется что это пустая трата времени - работает - значит нормально. Я же когда вижу такой код без отступов или с неправильными отступами обязательно сначала его отформатирую (благо редактор может сделать это автоматически) и только после этого разбираюсь
- четкий стиль кодирования. Например для конструкции if, это может быть
if ($var == true) {
}
после if - пробел, после ( нету пробела, до и после == пробел, true с маленькой, после ) скобки пробел, { не переносим на следующую строку
Не обязательно именно этот формат использовать, можно другой но он должен быть один на весь код. B желательно использовать стиль кодирования опенкарта
- названия переменных - очень плохой тон называть переменные транслитом типа $peremennaya, лучше общепринятое $var, хотя $var это тоже крайне неудачное название так как переменная должна нести смысл в названии - название должно говорить что это за переменная, то есть лучше $var назвать $count или $limit, или еще лучше $product_count
также нужно придерживаться нужного регистра, переменные называть $product_count, а не $Product_Count или $productCount
- очень желательно не использовать глобальных переменных
- комментарии - их должно быть не очень много (не стоит комментировать каждую строку) но и полное отсутствие комментариев, особенно в местах сложного кода тоже нехорошо.
- если в опенкарте используется паттерн проектирования MVC то и весь код нужно разделять на 3 части - недопустимо выполнять sql запросы в контроллере или тем более в представлении, не допустимо засорять контроллер, все расчеты должны быть вынесены в модель итд.
- насчет vqmod - к сожалению в опенкарте без него часто просто невозможно написать нормальный модуль, но 1. использовать его нужно в самом крайнем случае, когда другими методами этого вообще не сделать, иначе от его использования стоит отказаться и сделать это по-другому. 2. по возможности не использовать замену кода и тем более замену с оффсетами, так как потому может быть куча конфликтов из-за этого 3. по возможности использовать минимум vqmod кода, видел один модуль, в котором vqmod код на 1000 строк! это вообще пц.. Я например стараюсь весь код выносить в отдельную модель, а через vqmod добавить 2-3 строчки кода, который подключит эту модель и вызовет нужный метод, это уменьшит к-во конфликтов в будущем.
- насчет модулей - то что можно сделать с помощью модулей нужно делать с помощью модулей, а не с помощью vqmod или каких-то sql запросов которых пользователя разработчик просит вручную выполнить..
список можно продолжить, это только первое что пришло в голову.. на самом деле параметров которые помогают отличить хороший код от плохого - десятки
В общем - код должен быть максимально простой, понятный и однообразный. Такой код приятно читать, его просто и приятно изучать и легко с ним работать.