Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Стандарты кодирования, Обсуждаем 
:(
    Опции темы
IZ@TOP
Дата 5.9.2006, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: нет
Всего: 73



Итак. Предлагаю ввести стандарт кодирования. Неполный но основной набор правил кодирования:

Отступ (табуляция) равен 4 пробелам. Имена классов модулей и рабочих библиотек начинаются с Большой буквы если (это не системные библиотеки ядра которые начинаются с двух подчеркиваний - это мое ИМХО).
Имена методов начинаются с маленькой буковки))) - если это слитное из нескольких слов - каждое последующее с заглавной буквы. 
Стараемся придерживаться английских названий методов - за имена вроде PodschetKolichestva, Vibrat, Soedinit расстрел на месте!

Для каких либо классов схожих модулей, выполняющих определенный набор методов, пишем интерфейсы и абстракции! 
Весь код должен быть ООП, никаких процедурных модулей, ни кусочка процедурного кода! 
Желательно использовать паттерны.

Не очень понятно изъяснился наверное. Надеюсь ллюди меня поймут)))


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
sergejzr
Дата 5.9.2006, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: нет
Всего: 360



Да нет, весьма понятно smile Согласен со всеми пунктами. Сам так кодирую.
Пример:
Код

/**
 * Visualises given table row.
 * @package HTML_TableList
 * @author sergej.z
 */
class HTML_TableList_RowShowListener {
    /**
     * rowShown: Formats the row
     * @author sergej.z
     * @param array - & $row: Table row to be shown
     * @param array - & $tablelist: Table list object can be used to extract additional variables
     */
   public function rowShown(& $row, & $tablelist) {}
}

/**
 * Visualises the row as "I bid".
 * @package HTML_TableList
 * @author sergej.z
 */
class IBid_ShowListener extends HTML_TableList_RowShowListener {
    /**
     * Look: Standard outlook formatter
     */
    private $Look = false;
    /**
     *best: Determines, wherever the user is a winner of this auction
     */
    private $best = false;
    /**
     * Constructor
     * @author sergej.z
     * @param boolean - best: True if the user wins this auction, false otherwise
     */
    public function __construct($best=false) {
        $this->Look = new Liste_CellLook_Standart();
        $this->best=$best;
    }
    /**
     * rowShown: Formats the row
     * @author sergej.z
     * @param array - & $row: Table row to be shown
     * @param array - & $tablelist: Table list object can be used to extract additional variables
     */
    public function rowShown(& $row, & $tablelist) {
        $this->Look->formatAuctionImage($row);
        if($this->best)
        $row['preis_color_class']=' greentext boldtext ';
        else
        $row['preis_color_class']=' redtext boldtext ';
        $this->Look->formatAuctionPrice($row);
        $this->Look->formatAuctionStartDate($row);
        $this->Look->formatAuctionBid($row);
        $this->Look->formatAuctionImage($row);
        $this->Look->formatAuctionType($row);
        $this->Look->formatAuctionEndDate($row);
        $this->Look->formatAuctionSend($row);
    }
}


Какая ИДЕ? Предлагаю естесственно Eclipse WTP+PHPeclipse+Subversion. благо вариант обкатанный (разработка форума так и идёт)



--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
sergejzr
Дата 5.9.2006, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: нет
Всего: 360



Ах да, комменты в стиле phpDocumentor. Довольно удобный документатор.


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
IZ@TOP
Дата 5.9.2006, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: нет
Всего: 73



Цитата(sergej.z @  5.9.2006,  14:32 Найти цитируемый пост)
Ах да, комменты в стиле phpDocumentor. Довольно удобный документатор. 

Естественно!!! Кудаж без них! Только в качестве радактора я использую зенду. Мне эклипс как то не сильно понравился.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
sergejzr
Дата 5.9.2006, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: нет
Всего: 360



Ну это уже по вкусу smile Всё же предлагаю базовый пакет на эклипсе сделать. Зендом с ним можно будет также нормально работать, а эклипсовский пакет уже у многих стоит.


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
IZ@TOP
Дата 5.9.2006, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: нет
Всего: 73



sergej.z, кодировка utf8. Комменты думаю должны быть на русском языке.

Добавлено @ 14:20 
sergej.z, я знаешь чего больше всего жаждю - неймспейсов в РНР! Когда уже эту сказку внедрят... и опять все либы переписывать придется  smile  smile 


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
sergejzr
Дата 5.9.2006, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: нет
Всего: 360



Согласен (хотя можно и на обоих. Уже по вкусу)


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Opik
Дата 5.9.2006, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: нет
Всего: 55



IZ@TOP, 
Уже есть такое, только в виде патча.
PM MAIL Skype   Вверх
Wowa
Дата 5.9.2006, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



IZ@TOP, да. Со всем согласен.

В качестве редактора я тоже Зенд использую.
PM WWW   Вверх
Opik
Дата 5.9.2006, 18:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: нет
Всего: 55



MVC ?
PM MAIL Skype   Вверх
Wowa
Дата 5.9.2006, 18:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



что это?
PM WWW   Вверх
Opik
Дата 5.9.2006, 20:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: нет
Всего: 55



PM MAIL Skype   Вверх
IZ@TOP
Дата 6.9.2006, 10:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: нет
Всего: 73



Opik, а есть другие варианты? 
Выходит у нас такая конструкция: Core - Контроллер, Model - модули, view - XSLT шаблоны. Core  и Model генерируют XML для view.
Я все правильно понимаю?

Цитата(Opik @  5.9.2006,  16:50 Найти цитируемый пост)
IZ@TOP, 
Уже есть такое, только в виде патча. 

Где? Может будем использовать?


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Opik
Дата 6.9.2006, 11:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: нет
Всего: 55



IZ@TOP, 
Цитата

Где?

http://news.php.net/php.internals/17484
Цитата

Может будем использовать? 

1) Не каждый будет патч на сервер ставить
2) Смысл?

Цитата

Выходит у нас такая конструкция: Core - Контроллер, Model - модули, view - XSLT шаблоны. Core  и Model генерируют XML для view.
Я все правильно понимаю

Нет. направильно.
Допустим на примере юзеров, имеем:
Users (Model), UsersController (Controller), View (smarty/flexy/XML...).
Модель отвечает за работу непосредственно с данными. Контроллер оперирует этими данными и вносит изменения, но опять же через Модель.
Меняется структура данных, база данных и т.п. меняется только модель. Это очень приближенно и то, что я успел понять, ещё вникаю. Но имхо подход правильный.
PM MAIL Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Vingrad CMS | Следующая тема »


 




[ Время генерации скрипта: 0.0621 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.