Давайте поиграем. Анализ кода :D

Yaponchick

Новичок
Давайте поиграем. Анализ кода :D

Здраствуйте.
Если вас не затруднит, то давайте поиграем, в очень интересную игру:
Я кидаю сюда ссылку, а вы производите анализ кода, и сообщаете о ваших пожеланиях.

И так начнем:
2) http://php.x113.info/phpaste/i332

Fix #1
• убрана define(MYSQL_LINK, $this->link)
• перебрана __contstruct

Жду пожеланий, минсов и т.д.
 

akd

dive now, work later
Команда форума
Yaponchick, а можно я начну сразу с пожеланий? :)

1. Мороженное Movenpick Шоколадное 900 ml. - 3x
2. Улучшить работу городского транспорта.
3. Заставить принимать душ каждое утро всех пассажиров московского метро.

пока все :)
 

tf

крылья рулят
Yaponchick, и мне то что akd заказал x2
но можно без метро ;)
 

tf

крылья рулят
Yaponchick, и что недо угадать, твой парсер sql?
PHP:
$i= new yCore('dir/')
 

Yaponchick

Новичок
tf
1) это что-то вроде adodb, PEAR::Access & etc. special for me
2) Мне нужна помощь с проектированием, т.е. выявить где я не так сделал или т.д.
3) система должна работать от корня, т.к. класс идет как auto_prepend
 

zerkms

TDD infected
Команда форума
возможно сейчас полетят камни, но - попробуй написать для своего кода юнит-тесты, и получишь очень много замечаний сам от своих тестов ;)
 

Yaponchick

Новичок
zerkms
спс, попробую, правда никогда не пользовался unit'aми =)

P.S. Ну где вы, камни!!! =))))) Летите в меня!!! =) Жду критики =)
 

tf

крылья рулят
function qs($value) функция не приватная, что если я захочу передать в нее не post данные?
 

denver

?>Скриптер
1. qs() неговорящее название. И от get_magic_quotes() зависеть не должна, моё мнение. stripslashes должен делать кто-то до нее. is_numeric там не та ф-я (напр. завалится на строке "0e0").
2. Вместо die юзай throw new Exception. Эффект тот же, но die не перехватишь в try catch.
3. _select, _insert и пр., в параметрах не хватает $where. А если он должен там быть, то смысла от функций ноль. Проще будет написать SQL чем запомнить как их юзать.
4. куча собачек
5. класс слишком похож на сборник полезных функций, и аутентификация и бд, три в одном короче
 

Yaponchick

Новичок
tf
она не должна быть приватной, т.к. класс не реализовывает автом. использование $this->_qs, т.к. _query принимает sql запрос, вообще, в будущем предпологаю прикрутить адодб, но есть ли в нем, что-то вроде этого ? =)

denver
1. qs => чтобы быстро написать, экспонентами пока не пользуюсь, поэтому устраивает.
2. СУПЕР МЕГА БОЛЬШОЕ СПС, забыл что такое есть =))
3. я пока что не придумал как их написать, просто так на память оставил =)
4. эм... незнаю что ответить, вроде сам их не люблю =)
5. именно, я не люблю фрейм ворки, поэтому делаю что-то подобное «умной-сокращалки»
 

bkonst

.. хочется странного?...
Про qs: stripslashes надо бы делать сразу, при получении данных, а mysql_real_escape_string - непосредственно перед занесением. Тут всё свалено в кучу.

Жестко привязано к mysql. Захочешь перейти на другую БД, придется переписывать ядро. Желательно вынести работу с БД в отдельный слой.

Комментариев нет как класса?

Какой смысл имеет класс yCore? Что такое объект класса yCore - какой сущности он соответствует?
 

bkonst

.. хочется странного?...
Тогда зачем тут класс? Для помойки?
Набор функций есть просто набор функций. Объединять их в класс имеет смысл только когда они сильно связаны. Здесь этого нет.
 

Кром

Новичок
Код - сплошной sucks. Можешь смело перечеркнуть его двумя жирными линиями крест накрест и начать писать другой. Только почитай перед этим Гради Буча и книги на тему ООП.

Вот такой вот у меня анализ получился. :)
 

whirlwind

TDD infected, paranoid
ч.г. я там вообще не увидел ни кода ни структуры. особенно ввели в заблуждение select и delete. шо оно должно делать? формировать кусок SQL-запроса? но для этого нужно не 4 а один метод, а если оно должно удалять и выбирать, то где там хотя бы where? а может это контроллер?
 

Yaponchick

Новичок
whirlwind
про селекты можно забыть, просто так написал, сам понял что не нужно.

Вы разговариваете как будто на китайском языке, я же вроде дал понять, что в ООП дурак полный, поэтому и создал эту тему чтобы меня направили на путь верный, ведь я уверен что вы не хотите однажды встретить наработки какого-то программиста, и проклинать его всю жизнь будете, или вы хотите этого ?ъ

Самое лучшее «пожелание» дал denver.
От Крома было получение только одно ПОЛЕЗНОЕ замечание, по поводу Буча, которого я собираюсь читать. А так <censored>.
 
Сверху