Request for comments: покритикуйте

nolispe

Доброго дня, написал недавно простенькую программу для учёта потреблённых калорий.

Если хотите запустить, я использовал встроенный веб-сервер.

Буду рад критике, если не затруднит, конечно.

 

mkramer

Никто не будет качать архив. Выложи в гитхаб

 

nolispe

Спасибо, выложил на гитлаб.

https://gitlab.com/xisipag869/src

 

ADSoft

вот вроде все грамотно, по канонам, ООП, абстракции и прочее
но блин разметка в классах…. у вас же и View есть….. вся разметка должна быть там …ИМХО

ну и функционала то никакого… просто чтоб попрактиковаться в php, тогда ладно….
а то ведь с тем же успехом можно калории в блокнотике в текстовый файл писать ))))

сделали бы базу продуктов с калориями — чтоб выбрал по быстрому какие продукты — сколько — а калории тебе само посчиталось

 

nolispe

> но блин разметка в классах…. у вас же и View есть….. вся разметка должна быть там …ИМХО

Это один из моментов, который меня смущает. Я сначала хотел так сделать, но подумал, что это будет излишним нагромождением в представлении (хотелось оставить его простым, на уровне простой вставки переменных). Но да, вы правы, метод рендер превратился во что-то отвратительное.

> а то ведь с тем же успехом можно калории в блокнотике в текстовый файл писать ))))

То, что функционал можно полностью заменить если и не блокнотом, то простой базой данных, я понимаю, практиковался. ;)

> сделали бы базу продуктов с калориями — чтоб выбрал по быстрому какие продукты — сколько — а калории тебе само посчиталось

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

Спасибо!

 

mkramer

Рекомендую уйти от паттерна Registry, перейти на DI-Container.

 

nolispe

Спасибо, учту.

Это я сейчас читаю Зандстру, у него активно используется реестр.

 

MouseZver

если овладеешь composer, Зандстру можешь выкинуть.

PHP:
  1. $load = require ‘vendor/autoload.php’;
  2.  
  3. $load -> addPsr4( ‘WebCalMan\’, __DIR__ . DIRECTORY_SEPARATOR );

вместо

autoloader.php

 

nolispe

А при чём Зандстра к композеру? Я про книгу его.

За совет благодарю, изучения композера есть в планах.

 

mkramer

Как одно с другим связано?

 

musicman3

POST/GET/SERVER через функцию валидации проведите, а не напрямую в $_GET и т.п. Текст внутри файлов стараются выводить в i18n, но не критично в принципе.

Код (Text):
  1.  $resultTable .= ‘
  2.                 <td><input type=»hidden» value=»‘ . Registry::MODIFY_ACTION . ‘» name=»action»><input type=»hidden» name=»id» value=»‘ . $mainArrayKey . ‘»><input type=»submit» value=»@»> </form></td>
  3.                 <td>
  4.                 <form action = «‘ . Registry::FORM_ACTION . ‘» method=»get»>
  5.                     <input type=»hidden» value=»‘ . Registry::DELETE_ACTION . ‘» name = «action»>
  6.                     <input type=»hidden» value=»‘ . $mainArrayKey . ‘» name=»id»>
  7.                     <input type=»submit» value=»X»> </form>
  8.             </td>
  9.             </tr>’;
  10.         }

Вид в контроллере. Нужно выносить.

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

 

nolispe

Спасибо!

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *