parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

спасибо за положительную оценку + многочисленные ответы и коментарии по возникшим вопросам :)

Sergei 20.02.2003 12:43

//Только слишком много параметров требует - упростить бы надо,а то пугает...:)

У супер-крутого объёкта с массой наворотов и возможностей не может быть мало параметров :) - иначе нечем будет рулить все эти навороты. Но в нормальном классе все параметры должны уметь корректно обрабатываться по умолчанию (когда этот параметр вообще неопределён или в него передан некорректный аргумент), т.е. можно просто сделать какой-то объект класса без задания 1001 возможного параметра (просто ^myclass::create[]) и получится нормально работающий объект класса, ну а если хочешь навернуть навороты, то разбирайся с параметрами (в моём классе можно параметры и не указывать вообще)! А если бы этих параметров вообще не было, то не с чем было бы и разбираться :)) (это что плюс??). Ну а если потребовался бы почти такой же объект, но с небольшими отличиями, что лучше писать новый класс или усложнить этот, добавив к нему несколько полезных и удобных фичь. (на мой взгляд вариант 2 лучше - я его и реализовал в своём классе). В 1-й версии моего класса был только один тип скроллирования, Мише он несовсем понравился (но это его субъективная точка зрения - он имеет не неё право как и любой из нас), и он подкинул мне идею другого типа скроллирования. Я решил реализовать сразу оба в одном классе - кому какой понадобится тот тем и будет пользоваться - нужно только нужный параметр передать.

//И URI, IMHO лучше самому проверить, а не от юзера просить. Хотя - это уже его (юзера) проблемы, но все же - максимум usability не помешало бы.

Про параметры согласен на 200%!!! Надо найти время чтобы доделать. :)
Я хочу чтобы класс сам раздраконивал URI, если пользователь насильно параметр, отвечающий за это, не задаст, а если передаст, то "это уже его (юзера) проблемы" :).
Тут я ещё думал такая фигня может быть: на странице может быть сразу несколько скроллов (один для новостей, другой ещё для чего-нибудь и т.д.), а параметр пока только один обрабатывается через волшебное слово "page" (?page=1) - это пока действительно плохо!

И ещё одна фигня возникает связанная с индыксацией сайтов (сейчас про это более подробно вверху новую тему открою, см. выше)

//И еще - зачем там под определение каждой переменной свой метод? Не проще все переменные одним контекстом определить?

Это из области объёктно-ориентированного программирования!
Возьми какой-нибудь язык, например, тот же VB (Visual Basic).
Там можно заводить переменные Private и Public. К тем которые Public можно обращаться напрямую из любого другого модуля или класса включённого в проект (ты пердлагаешь этот вариант), НО ... по законам ООП это считается плохим стилем программирования! Нужно заводить переменные, в которых ты хочешь хранить параметры класса как Private!!! + Для каждой такой переменной надо завести свойства (Property) и в дальнейшем обращаться к переменным только через свойства! Их может быть два PropertyGet (возращает значение из переменной класса наружу) и PropertyLet (или PropertySet) - для передачи параметра во внутрь объекта класса.
Часто это выглядет как присваивание значения в переменную и считывания из переменной (и всё)! Но для чего вообще придумали эти Property? Ответ: чтобы при изменении какого-то параметра автоматически делать ещё какие-то действия и не писать этот код везде по 100 раз, а написать только в Property и пользоваться всю оставшюся жизнь. Если нужно будет поправить, то поправить всего лишь в одном Property!!!