CommerCentr
EN
Sign in

Протокол разработки под BroCart v.3.x

#1
Протокол FIA - это свод правил, согласно которым, при разработке не будут возникать коллизии, конфликты, нарушения функциональных сегментов CMS и прочие моменты, цель которых направлена на унифицированную структуру данных, при разработке.
КОДИНГ
0. короткие записи функции echo не поддерживаем:
корректно
<?php echo $my_code; ?>

некорректно
<?=$my_code;?>

1. управляющие конструкции IF, WHILE, FOR, FOREACH должны иметь пробел перед и после скобок:
корректно
if () {

некорректно
if(){

корректно
} else {

некорректно
}else{

2. указание типа переменной добавляй без пробела:
корректно
(int)$var

некорректно
(int) $var

3. при присвоение переменной всегда указывай пробел до и после знака равенства:
корректно
$var = 1;

некорректно
$var=1;

4. открывающиеся фигурные скобки не переносим на новую строку, они всегда будут иметь пробел и будут на одной строке [True Brace Style] :
корректно
if (true == $my_variable) {
...
class ModelToolSeo extends Model {
...
public function addProduct() {
...
} else {

некорректно
if (true == $my_variable)
{
...
class ModelToolSeo extends Model
{
...
public function addProduct()
{
...
}
else
{

5. названия классов и методов по стилю CamelCase:
корректно
class ModelToolSeo extends Model
...
public function addProduct()

некорректно
class model_toolseo extends Model
...
public function add_product()

6. названия переменных указывай в нижнем регистре и используй нижнее подчеркивание для разделения слов:
корректно
$var = 123;
$new_var = 12345;

некорректно
$Var = 123;
$newVar = 12345;

7. указывай константы в ВЕРХНЕМ регистре:
корректно
define('MY_VAR', 'My constant string value');

некорректно
define('my_var', 'My constant string value');

8. указывай типы переменных (true,false,null) в нижнем регистре:
корректно
$my_var = true;

некорректно
$my_var = TRUE;

HTML / CSS
0. для разделения слов в названиях классов и идентификаторов используй тире, но не нижнее подчеркивание:
корректно
class="my-class"

некорректно
class="my_class"

1. зависимость элементов верстки от javaScript библиотек - запрещено, все стили строго в CSS, остальные эффекты - после загрузки документа:
$(document).ready(function() {

2. файл с настройками стилей - отдельно, в шаблоне недопустимо указывать вперемешку стили и условия php:
корректно
<?php if (isset($my_setting_css)) { ?>
<link rel="stylesheet" href="catalog/view/theme/default/style/my_setting_css.css" />
<?php } else { ?>
<link rel="stylesheet" href="catalog/view/theme/default/style/default.css" />
<?php } ?>

некорректно
<?php if ($my_1_links_color !='') { ?>
.top-panel a, #sidebar a, .navbar-fixed-bottom ul li a, .sidebar-a, .settings span, .settings i, .settings strong {
color: <?php echo $storeset_1_links_color; ?>;
}
<?php } ?>
<?php if ($my_1_background !='') { ?>
.top-panel, #sidebar, .search-box-top, .navbar-fixed-bottom, .sidebar-a .dropdown-menu {
background: <?php echo $storeset_1_background; ?>;
}
<?php } ?>

Язык / Language
0. названия каталога локализации и настройки локали в админ. панели для:
Украина:
uk-ua - названия каталога с языковыми переменными
uk_UA.UTF-8,uk_ua,ukrainian - кодировка
Россия:
ru-ru - названия каталога с языковыми переменными
ru_RU.UTF-8,ru_ru,russian - кодировка
English:
en-gb - названия каталога с языковыми переменными
en-US,en_US.UTF-8,en_US,en-gb,english - кодировка

Anyone can read. To post and vote, sign in.