proctoleha

Впечатления новичка от opencart (код)

Рекомендуемые сообщения

proctoleha    4

По сабжу: я не считаю себя супер гуру программером, но знания, навыки в php уверенные. До opencart плотно работал с yii2 и CI

 

И вот шефа убедили запускать новый проект на opencart. Ну я почитал отзывы, CMS популярная, развивающаяся, на шаблоне MVC - скачал, установил, купил шаблон.

 

И полез в код ... Я как бы сказать без мата - был шокирован! Код не документирован! Работаю с phpStorm и где какой класс, откуда ноги растут у того, или иного метода - фиг знает. Пришлось самому прописывать PhpDoc-и, чтобы можно было хоть как-то работать.

 

Второе, что было шоком: прямые SQL запросы. Даже в самых простых проектах, где можно было обойтись без фреймворка, где был чисто самописный код, я создавал обёртку для работы с БД. Потому что мне было в лом писать запросы руками. А в opencart запросы на несколько строк - это нормально. Как должно и быть.

 

Это я к чему? К  тому, что если какой-либо разработчик с опытом планирует начать работать с opencart, чтобы у него не было розовых очков. Код - ужасный. Но работает, и работает неплохо. Но это особенность PHP как языка.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
nikifalex    329

Пришлось самому прописывать PhpDoc-и, чтобы можно было хоть как-то работать.

Да чего мелочиться. надо было сразу весь движок переписывать, вместе с SQL запросами. По другому не взлетит. Это такая особенность опенкарта. Все так делают

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
proctoleha    4

Это такая особенность опенкарта. Все так делают

 

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

 

Во всех пособиях по php обязательно пишут: документируйте свой код, это азы вежливости. Идиоты наверное

Изменено пользователем proctoleha

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Blade    92

По сабжу: я не считаю себя супер гуру программером, но знания, навыки в php уверенные. До opencart плотно работал с yii2 и CI

 

И вот шефа убедили запускать новый проект на opencart. Ну я почитал отзывы, CMS популярная, развивающаяся, на шаблоне MVC - скачал, установил, купил шаблон.

 

И полез в код ... Я как бы сказать без мата - был шокирован! Код не документирован! Работаю с phpStorm и где какой класс, откуда ноги растут у того, или иного метода - фиг знает. Пришлось самому прописывать PhpDoc-и, чтобы можно было хоть как-то работать.

 

Второе, что было шоком: прямые SQL запросы. Даже в самых простых проектах, где можно было обойтись без фреймворка, где был чисто самописный код, я создавал обёртку для работы с БД. Потому что мне было в лом писать запросы руками. А в opencart запросы на несколько строк - это нормально. Как должно и быть.

 

Это я к чему? К  тому, что если какой-либо разработчик с опытом планирует начать работать с opencart, чтобы у него не было розовых очков. Код - ужасный. Но работает, и работает неплохо. Но это особенность PHP как языка.

:-)  :-)  :-)

жжешь

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
deim    241

На мой взгляд opencart настолько очевиден, что документировать просто нечего

А в целом вброс уровня двачей для розжига

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Einshtein    621

Для phpStorm поможет такой скрипт http://siter.org.ua/avtodopolnenie-koda-opencart-v-phpstorm/

нарм тема, жаль что я со свои консерватизмом, наверное не скоро слезу с нотпада :D

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

Но иногда и для знатока достаточно сложно найти где какой класс подключается, тут нужен тупо опыт работы с двиглом. 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
proctoleha    4

На мой взгляд opencart настолько очевиден, что документировать просто нечего

А в целом вброс уровня двачей для розжига

 

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

 

Или я щелкаю по методу, зажав Ctrl и сразу попадаю туда, куда нужно.

 

Есть разница?

 

 

 

Для phpStorm поможет такой скрипт http://siter.org.ua/avtodopolnenie-koda-opencart-v-phpstorm/

 

А вот за это спасибо! Но лучше бы обходиться без костылей

Изменено пользователем proctoleha

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
pashast    376

нарм тема, жаль что я со свои консерватизмом, наверное не скоро слезу с нотпада :D

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

Но иногда и для знатока достаточно сложно найти где какой класс подключается, тут нужен тупо опыт работы с двиглом. 

 

Консерватизм это плохо ))

Я вот не представляю, что можно делать без мультикурсора или мгновенного поиска по содержимому файлов. Я когда переходил с нотепада++ на phpStorm, на некоторых моментах вообще сидел с открытым ртом минут 5, типа "а что так можно было?"  :ugeek:

Времени экономит кучу cXntoXnEtgp8eTPRBJlwDam9VvzAFR.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
proctoleha    4

Времени экономит кучу 

 

Золотые слова Бенедикт Бенедиктович  :eek:

 

Я именно про это! Про экономию времени и удобство в работе

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
markimax    1 478

Золотые слова Бенедикт Бенедиктович  :eek:

 

Я именно про это! Про экономию времени и удобство в работе

Но это не относится к коду ;)

Да единственный недостаток opencart - "запросы". Но в принципе это не критично

В остальном в opencart на голову современнее архитектура чем в любой php CMS (FW не рассматриваем, там в них до CMS еще пилить и пилить)  И код как раз очень удобный с точки зрения разработчика, привыкшего к современным FW.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
proctoleha    4

И код как раз очень удобный с точки зрения разработчика, привыкшего к современным FW.

 

Ну-ну, если про современные FW то есть такая архиудобная фича, как пространство имен, namespase, в действительно современных FW. Подсаживаешься  как на наркотик, т.к. действительно удобно. И где opencart и где namespase? Я верю, что это будет, когда-нибудь, скорее всего с версии 3.xxx Но пока этого нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
markimax    1 478

Ну-ну, если про современные FW то есть такая архиудобная фича, как пространство имен, namespase, в действительно современных FW. Подсаживаешься  как на наркотик, т.к. действительно удобно. И где opencart и где namespase? Я верю, что это будет, когда-нибудь, скорее всего с версии 3.xxx Но пока этого нет.

Вы поймите opencart запускают до сих пор и на старом php 5.2 (а сколько еще у хостеров 5.2 стоит :) )

(поверьте столкнулся как раз разработчик когда начал использовать namespace в своих библиотеках, даже не представляете сколько было шума и у скольких пользователей включен php 5.2 по умолчанию, пришлось в FAQ заносить)

Когда CMS очень популярна некоторые фитчи не используют в угоду совместимости.

Да и особо namespace не влияют на функционал opencart, там инструментарий функционала отлично обходится и без него

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
proctoleha    4

Когда CMS очень популярна некоторые фитчи не используют в угоду совместимости.

 

Да согласен я с вами. Всё понимаю, кроме одного: почему у крупного проекта не документирован код.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
markimax    1 478

Да согласен я с вами. Всё понимаю, кроме одного: почему у крупного проекта не документирован код.

Ну не знаю :) Лично мне не надо - там и так все понятно

Я думаю ни у одного разработчика здесь нету проблем с пониманием.

 

Opencart тем и отличается, что имеет современную, функциональную архитектуру и в тоже время самую простую

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
markimax    1 478

Вот чего я не понимаю как одна известная CMS с такой (под спойлером) архитектурой может быть так "популярна"

Вот там надо описания :ugeek: :-D

global $wp_version, $wp_db_version, $tinymce_version, $required_php_version, $required_mysql_version, $wp_local_package;
require( ABSPATH . WPINC . '/version.php' );

/**
 * If not already configured, `$blog_id` will default to 1 in a single site
 * configuration. In multisite, it will be overridden by default in ms-settings.php.
 *
 * @global int $blog_id
 * @since 2.0.0
 */
global $blog_id;

// Set initial default constants including WP_MEMORY_LIMIT, WP_MAX_MEMORY_LIMIT, WP_DEBUG, SCRIPT_DEBUG, WP_CONTENT_DIR and WP_CACHE.
wp_initial_constants();

// Check for the required PHP version and for the MySQL extension or a database drop-in.
wp_check_php_mysql_versions();

// Disable magic quotes at runtime. Magic quotes are added using wpdb later in wp-settings.php.
@ini_set( 'magic_quotes_runtime', 0 );
@ini_set( 'magic_quotes_sybase',  0 );

// WordPress calculates offsets from UTC.
date_default_timezone_set( 'UTC' );

// Turn register_globals off.
wp_unregister_GLOBALS();

// Standardize $_SERVER variables across setups.
wp_fix_server_vars();

// Check if we have received a request due to missing favicon.ico
wp_favicon_request();

// Check if we're in maintenance mode.
wp_maintenance();

// Start loading timer.
timer_start();

// Check if we're in WP_DEBUG mode.
wp_debug_mode();

...
$GLOBALS['wp_locale'] = new WP_Locale();

Жесть

Это просто 3.14 а не архитектура

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
proctoleha    4

Ну не знаю :) Лично мне не надо - там и так все понятно

 

При чем тут понятно? Мне в лом открывать нужные файлы вручную, мне, как и любому нормальному программеру, удобнее переходить к ним по клику. А для этого код должен быть документирован. И я говорю именно про современную разработку, а не про кодирование в Notepad++

 

И именно про phpStorm - самое популярное решение.

Изменено пользователем proctoleha

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
markimax    1 478

При чем тут понятно? Мне в лом открывать нужные файлы вручную, мне, как и любому нормальному программеру, удобнее переходить к ним по клику. А для этого код должен быть документирован. И я говорю именно про современную разработку, а не про кодирование в Notepad++

Вы пользуетесь штормом я другими IDE - там не надо "документирования" ;)

Это уже личные хотелки

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
proctoleha    4

Вы пользуетесь штормом я другими IDE - там не надо "документирования" ;)

Это уже личные хотелки

 

А поделитесь пожалуйста, какой средой разработки вы пользуетесь, при условии, что она будет работать под убунту. Вопрос очень серьезный, если вас всё устраивает, я тоже потестирую.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
markimax    1 478

А поделитесь пожалуйста, какой средой разработки вы пользуетесь, при условии, что она будет работать под убунту. Вопрос очень серьезный, если вас всё устраивает, я тоже потестирую.

Под убунту - ничего не могу сказать

Я просто к тому что это сугубо личная хотелка и никакого отношения к коду и функционалу opencart не имеет

Я за все время работы с opencart первый раз встречаю такую "хотелку" документации ядра кода opencart :)

Вот WP тот да, надо документировать - потому что там вообще НЕТ АРХИТЕКТУРЫ. Там просто фарш какого то г.. кода, где без "бутылки" не разберешься :? :roll:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
proctoleha    4

Я просто к тому что это сугубо личная хотелка и никакого отношения к коду и функционалу opencart не имеет

Я за все время работы с opencart первый раз встречаю такую "хотелку" документации ядра кода opencart :)

 

При чем тут хотелка? Вот есть правила этикета в жизни, считается, что воспитанный человек им должен следовать, хотя бы основным. Вот я пишу код на php. Для паблишера. Я обязательно буду комментировать свой код, это же основы! Основы этикета для ЛЮБОГО языка программирования. PHP не php, какая разница? Это правила хорошего тона, это азы с которых начинается обучение. Всегда документируйте свой код, давайте говорящие имена переменным, соблюдайте единую нотацию при объявлении переменных ... 

 

Или я опять жгу? И эти правила не для программистов?

Изменено пользователем proctoleha

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
markimax    1 478
...

Или я опять жгу?

Ну как бы да :)

Есть стандарты, а есть рекомендации.

Документирование кода - это рекомендации.

Если честно лично меня документирования "путают", потому что это просто лишняя информация, мешающая видеть весь код на одной странице экрана (к моНАХам такое "документирование")

Так что от документирования есть и вред. Причем иногда гораздо больший чем его "описание"

Документирование надо скорее junior - м.

Для остальных есть доки для разработчиков.

 

Opencart код сделан по стандартам. Причем архитектура настолько проста, что ей не надо документации в коде

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
proctoleha    4

Документирование надо скорее junior - м.

 

Вот есть такой мощный, действительно развивающийся, находящийся в тренде FW Yii2. Задокументировано всё. Вы действительно верите в то, что он написан для юниоров и юниорами?

 

Вот я открываю незнакомый проект, что проще пробежаться глазами по комментам, или вникать в код? Как грамотные комменты могут мешать? Или у вас так много времени, что вы можете себе позволить тратить его впустую/нерационально?

Изменено пользователем proctoleha

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
markimax    1 478

Вот есть такой мощный, действительно развивающийся, находящийся в тренде FW Yii2. Задокументировано всё. Вы действительно верите в то, что он написан для юниоров и юниорами?

 

Вот я открываю незнакомый проект, что проще пробежаться глазами по комментам, или вникать в код? Как грамотные комменты могут мешать? Или у вас так много времени, что вы можете себе позволить тратить его впустую/нерационально?

Давайте не сравнивать FW и CMS

Сравнение явно не уместное ;)

 

Открываете для себя новую CMS ? Прочтите руководство разработчика. Его достаточно.

А вы как обычно хотите "методом тыка" "пробежаться"

 

Документировать надо если код запутанный и не понятный (кстати во многих FW он избыточен и много лишнего "на все случаи жизни"). Opencart фактически упрощенный Symfony. Выкинуто все лишнее и не нужное.

Документировать надо недоcms WP где нету архитектуры вообще.

А в opencart там даже из названия методов и классов все понятно, к тому же они связаны.

А вот вреда от документирования не мало. Не видно на одном экране весь код "блока"! Поэтому тяжело его загрузить весь для понимания в "мозг".

 

Так что документирование кода ядра надо рассматривать в частных случаях.

В opencart - оно не нужно

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Otvet    403

тут есть всего 3 варианта:

  1. принять и работать
  2. не принимать и не работать
  3. пойти на гит и комментировать

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу