Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.02;
Скачать: CL | DM;

Вниз

Постоянная работа для программера в Москве   Найти похожие ветки 

 
Rule ©   (2004-04-05 09:58) [40]

Хочу работать, думаю подойду но я живу на украине и предпочитаю работать  с БД, хотя работал и с другим, есть стаж и отзывы (и реально работающие проекты, которыми пользуется много людей по всей стране (Украине))


 
Гаврила   (2004-04-05 10:16) [41]

Господа, спасибо всем, кто откликнулся
отвечу обязательно всем, завтра-послезавтра
10 уровней - это я к примеру сказал, их может быть и меньше ))
Иногородние подойдут, но проблема жилья при этом останется на ваше разрешение


 
sniknik ©   (2004-04-05 10:56) [42]

[23] > завтра посчитаю самую длинную ветку.
долго считал ;о), в основном вложенность в vcl кончается на 6-7, бывает и больше, максимально мной найденный - TStandardCustomizePopup имеет 11 (может и больше есть на достало считать ;), програмку чтоли написать :о)).
в общем так понимаю задумывается чтото не менее глобальное.

Anatoly Podgoretsky ©   (05.04.04 09:48) [39]
а пусть спамят, старый яшик, неиспользуемый. неудивлюсь если уже забит под завязку.


 
Плохиш   (2004-04-05 11:02) [43]

>Гаврила   (05.04.04 10:16) [41]

> Иногородние подойдут, но проблема жилья при этом останется
> на ваше разрешение

Что в Москве уже стало легко вид на жительство получить?


 
Тимохов ©   (2004-04-05 11:04) [44]

в жизни бы не взял человека, предлагающего создать иерархию в 10 уровней - LMD.


 
SPeller ©   (2004-04-05 11:14) [45]

TClassA = class;
TClassB = class(TClassA);
TClassC = class(TClassB);
TClassD = class(TClassC);
TClassE = class(TClassD);
TClassF = class(TClassE);
TClassG = class(TClassF);
TClassH = class(TClassG);
TClassI = class(TClassH);
TClassJ = class(TClassI);
TClassK = class(TClassJ);

Вот! Я оказался способен создать даже не на 10, а на 11 уровней иерархию! И никакой сволки, всё аккуратно, везде порядок. Возьмите меня!!!


 
Игорь Шевченко ©   (2004-04-05 11:16) [46]

Тимохов ©   (05.04.04 11:04)

Чем обоснуешь свое утверждение ? Мне просто интересно...


 
Тимохов ©   (2004-04-05 11:32) [47]


> Игорь Шевченко ©   (05.04.04 11:16) [46]

Опытом эволюционной разработки финансовой (в народе - бухгалтерской) системы в 1млн строк.

Далее приведу мое понимание взаимоотношения любви к иерархии классов и ламерства. Прошу никого не обижаться и не делать на меня нападок. Мое мнение основано на разработке указанной системы.

Уровень 0 - "Классы, а что это?" (ну это ноль, даже говорится про него не будем).

Уровень 1 - "Блин классы, ну я сейчас сделаю нефиговую иерархию. Круто. Я мастер"

Уровень 2 - "Вот блин не учел я вначале того-то (да я и знать не мог, в ТЗ не было этого). Теперь для одного из потомков нужно сделать специальное поведение. Ну ничиго, у меня же классы - зафигачу фишку в предка"

Уровень 3 - "Вот блин, здолбался тестировать. Чуть что поменяешь - тестируй всех потомков, а вдруг чего, прибьют же за это".

Уровень 4 - "Ну ее нахрен эту иерархию - только разработку тормозит".

Уровень 5 - "Да вообще то иерархия это не плохо - надо только меру знать"

Больше уровней не знаю - т.к. 5 - это пока мой уровень.

У меня сейчас такой подход:
1. Есть учень неглубокая иерархия базовых классов (2 уровня). Эти классы ничего не умеют делать по бизнес-логике, но предоставляют возможность сделать что угодно.
2. Есть куча потоком базовых классов. Часто очень похожих, но все же без общего предка. Это позволяет оперативно вносить изменения. Оперативность выражается в том, что: 1) нужно мало времени на выяснение того, что нужно сделать и не повлияет ли это на другие классы; 2) нужно мало времени на тестирование.

Бывают моменты, когда приходит понимание того, что нужно сделать общего предка - тогда сажусь и делаю. Но такое понимание приходит редко.

Т.к. для меня:
1. Формальная схожесть атрибутов не повод засунуть в предка
2. Формальная схожесть функциональности тоже не повод засунуть в предка

Повод засунуть в предка - схожая бизнес-роль играемая в системе.


 
Гаврила   (2004-04-05 11:49) [48]

>>Тимохов ©   (05.04.04 11:32) [47]
Разумеется, во всем нужно соблюдать меру.
Но, на мой взгляд, если пишешь код, и понимаешь, что пишешь его во второй раз, это уже достаточно приличный повод задуматься.
Сколько раз уже налетали на необходимость вносить одинаковые изменения сразу в нескольких местах...


 
Тимохов ©   (2004-04-05 11:55) [49]


> Гаврила   (05.04.04 11:49) [48]

От задачи сильно зависит.

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


 
Юрий Зотов ©   (2004-04-05 12:13) [50]

Ну, не знаю. Мое личное мнение такое: глубина иерархии - не самоцель, какая нужна - такая и будет. Цель - создание удобной (для работы, поддержки и дальнейшего развития) иерархии, в которой четко и ясно обозначена функциональность каждого класса. То есть - для чего он нужен, что он делает нового по сравнению с предками и чего о НЕ делает (и делать НЕ должен, оставляя эту функциональность своим потомкам). И еще, конечно, аккуратно и грамотно написанный и документированный код. Прекрасный пример - сама VCL. Живет и бурно развивается уже около 10 лет - великолепный образец изначально грамотного проектирования.

Вот, собственно, это и есть то, что нужно. А какая там при этом получится глубина иерархии - без разницы, хоть 5, хоть 50. Если приведенные требования соблюдены, работать с ней будет все равно удобно и просто, при ЛЮБОЙ глубине.

Другое дело, что когда мы предъявляем требования к работнику, то действительно имеет смысл говорить о его способности грамотно спроектировать и создать иерархию глубиной не менее N. Потому что для решения таких задач нужно иметь уже некий "системный" уровень мышления, а он формируется опытом и знаниями. Вот о чем, видимо, говорит работодатель - и правильно делает. Ну не нужны ему "чистые" кодеры, а нужны кодеры-проектировщики - вот он их и ищет. И тоже правильно делает - потому что, как показывает опыт, "чистые" кодеры очень часто и очень быстро превращают программу в помойку. Поддерживать и развивать такую программу становится очень трудно - и возникает вопрос о том самом пресловутом "рефакторинге". То есть, фактически, о переписывании больших кусков кода - а это на деле означает, что чья-то работа будет просто выброшена и значит этот кто-то получил свою зарплату ни за что.

> Тимохов © (05.04.04 11:32) [47]

Ошибка в уровне 2: "Вот блин не учел я вначале того-то (да я и знать не мог, в ТЗ не было этого)".

Такому человеку не стоит поручать разработку базовых иерархий, да и вообще движка программы. Он еще не вполне созрел для такой работы - не приобрел тот самый уровень системного мышления. Иначе бы он руководствовался не только ТЗ, а учитывал еще и перспективу - и тогда проблема "не учел вначале" просто не возникла бы.


 
Тимохов ©   (2004-04-05 12:17) [51]


> кодеры, а нужны кодеры-проектировщики - вот он их и ищет

такие люди не стоят 1000


> Юрий Зотов ©   (05.04.04 12:13) [50]

имхо вы про уровень 2 зря так - ключевым здесь является "да я и знать не мог, т.к. в ТЗ не было этого". Дело не в людях, а в эволюционном цикле развития, который предполагает доработку тз в процессе разработки.


 
Игорь Шевченко ©   (2004-04-05 12:27) [52]

Тимохов ©   (05.04.04 12:17)


> такие люди не стоят 1000


Стоят. Уровень зарплаты вполне соответствует.


> Дело не в людях, а в эволюционном цикле развития, который
> предполагает доработку тз в процессе разработки


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

Есть предложение - читать книжки не только по программированию


 
Юрий Зотов ©   (2004-04-05 12:28) [53]

> Тимохов ©   (05.04.04 12:17) [51]

Обратите внимание на слова "учитывал еще и перспективу". Грамотный разработчик спроектирует иерархию так, что в ней будут учтены и будущие доработки ТЗ (которые он уже предвидит, исходя из здравого смысла и своего опыта), и возможность расширения без глобальной переписки и глобального тестирования.

"В ТЗ этого не было" - такая отмазка годится для кодеров. Проектировщику же должно быть стыдно даже произносить такую фразу. Либо забудь о ней, либо не берись за проектирование базовых иерархий.


 
Rule ©   (2004-04-05 12:39) [54]

В блин развели димагогию, а я считаю что все приходит с опытом, а не с количеством иерархий и для некоторых специфичесуких задач создание таких иерархий задач практически не надо ....
а  в общем правильно подмечено, что если человек уже приобрел способность масштабно, дальневидно и системно видеть то вряд ли его можно назвать рядовым программистом ... так как вроде это получается с опытом и не однодневным, так что вряд ли вы найдете такого за 1000 (что касается меня то я живу в глубинке, где цены у нас в 5 ато в 10 раз ниже, так что фактически за 100-150 долларов (эквивалент ваших 1000), ни за что бы не согласился работать) ...
спасибо всем за внимание ...
ЗЫ: работодаделю, все равно прийдется выбирать не из того что надо а из того что есть :)


 
Dmitriy O. ©   (2004-04-05 12:42) [55]

Я хочу возмите мя !


 
Тимохов ©   (2004-04-05 12:44) [56]


> Игорь Шевченко ©   (05.04.04 12:27) [52]


> Юрий Зотов ©   (05.04.04 12:28) [53]

Общие слова имхо. Все зависит от проекта и его роли. Не всегда видна конечная цель - только промежуточные.


> Игорь Шевченко ©   (05.04.04 12:27) [52]

Про чтение книжек. Читаем, и не только по программированию.
Более всего люблю - хр. В его духе - бастренько написал, потом переделал. Как оказалось - это и в моем духе.

Про 1000 б для кодера-проектировщика. Не найти такого. Знаю.


 
Иксик ©   (2004-04-05 12:45) [57]


> Rule ©   (05.04.04 12:39) [54]

Димагогия, это намек на Dmitriy O.? :)


 
malkolinge ©   (2004-04-05 12:52) [58]


> Игорь Шевченко ©   (04.04.04 20:33) [22]
> По поводу кадровых агентств и job.ru - разумеется, оттуда
> больше народа откликается, был опыт. Но тот код, что оттуда
> чаще всего присылают (без образцов кода иметь дело с кандидатом
> вообще нет смысла), не годится ни в серьезное дело, ни в
> красную армию. Такая вот се ля ви получается. Разумеется,
> расположив объявление на сайте программистов на Delphi есть
> большая вероятность, что найдется нужная кандидатура.
>
> Я понимаю автора ветки, ему хочется найти человека, которого
> не надо будет УЧИТЬ ПРОГРАММИРОВАНИЮ, а сразу можно объяснять
> предметную область и предметные задачи, подразумевая при
> этом, что программирование он знает. Поэтому студенты здесь
> вряд ли подойдут (IMHO), хотя и студенты разные бывают.


Я студент. :( вы же Игорь обещали меня к себе взять (шутка)


 
Игорь Шевченко ©   (2004-04-05 12:54) [59]

Тимохов ©   (05.04.04 12:44)


> Более всего люблю - хр. В его духе - бастренько написал,
> потом переделал. Как оказалось - это и в моем духе


В его духе: написал, выбросил, написал, выбросил.

Кент Бек, разумеется, человек очень умный, но серебряной пули не изобрел. А про его последователей и говорить не хочется. Можно только с религиозными фанатиками сравнивать, которые мантры поют и кроме набора слов: "Парное программирование, коллективное владение кодом, unit-тесты, рефакторинг, XP - это круто" ничего не знают.


 
blackman ©   (2004-04-05 12:54) [60]

У меня пенсионеры знакомые есть. Пожалуй согласились бы, но вы не возьмете конечно :)


 
Думкин ©   (2004-04-05 12:59) [61]


> Тимохов ©   (05.04.04 12:44) [56]
> Общие слова имхо. Все зависит от проекта и его роли. Не
> всегда видна конечная цель - только промежуточные.

Когда так - то тяжело работать. Все-таки нечто надо видеть уже вначале. Чем лучше основание - тем проще потом. Доказано не одним огромным, а некоторым количеством малых и средних(с претензией на крупные) проектов. Хорошо спроектированная модель не один раз потом поможет - яркий пример уже прозвучал.


> Про чтение книжек. Читаем, и не только по программированию.
> Более всего люблю - хр. В его духе - бастренько написал,
> потом переделал. Как оказалось - это и в моем духе.

Все-таки, на мой взгляд, дух ХР несколько в ином. Но мне он весь как-то не катит. А некоторые его моменты - так это и не ХР, что Бек(кажется) и писал.


 
Тимохов ©   (2004-04-05 13:00) [62]


> Игорь Шевченко ©   (05.04.04 12:54) [59]

Игорь, вы уже залезаете в вопросы программерской религии.
Нам хр (вернее пока его часть) очень помогают. Особенно тесты.


> В его духе: написал, выбросил.

Именно так, только после выбросил надо поставить "написал лучше"


 
Юрий Зотов ©   (2004-04-05 13:01) [63]

> Тимохов ©   (05.04.04 12:44) [56]

> Общие слова имхо.

Совершенно верно - они именно ОБЩИЕ. Именно ТАК и должен мыслить проектировщик - ОБЩЕ. Иначе проект запросто утонет в версионности и поддержке.

> Не всегда видна конечная цель - только промежуточные.

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


 
Rule ©   (2004-04-05 13:02) [64]

>Иксик ©   (05.04.04 12:45) [57]

ну тогда Иксология :)


 
Тимохов ©   (2004-04-05 13:02) [65]


> Думкин ©   (05.04.04 12:59) [61]

Вы тут все джедаи :)))))
"Неясно будущее этого проекта"


 
Тимохов ©   (2004-04-05 13:03) [66]


> Юрий Зотов ©   (05.04.04 13:01) [63]
> О чем и речь. Если человек этой цели не видит - рано ему
> проектированием заниматься. Он может быть прекраснейшим,
> опытнейшим, грамотнейшим кодировщиком - но под проектировщика
> его мышление еще не заточилось.


Да не мне не ясно, а никому не ясно, в том числе и заказчику :)))))


 
Anatoly Podgoretsky ©   (2004-04-05 13:06) [67]

SPeller ©   (05.04.04 11:14) [45]
Ну доказал, что ты знаешь, что такое иерархия, но какая то она простая и линейная. Кстати не шутка.


 
Иксик ©   (2004-04-05 13:09) [68]


> Rule ©   (05.04.04 13:02) [64]

"Обидеть хотите?" (с)
:))


 
app ©   (2004-04-05 13:11) [69]

Хватит прокатываться по личностям, в конце концов не крависо, без повода.


 
Rule ©   (2004-04-05 13:14) [70]

>Anatoly Podgoretsky ©   (05.04.04 13:06) [67]
И к тому же бесполезная :)


 
Юрий Зотов ©   (2004-04-05 13:27) [71]

> Тимохов ©   (05.04.04 13:03) [66]

> а никому не ясно, в том числе и заказчику

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

2. Тем более возрастает роль грамотного проектирования. Гибкого. По принципу "написал-расширил", а не "написал-выбросил". Потому что слишком дорого это - рабочим кодом бросаться.


 
Тимохов ©   (2004-04-05 13:33) [72]


> Юрий Зотов ©   (05.04.04 13:27) [71]

Самый бесполезный спор, который может только быть :)))))))
Чаще, конечно занимаюсь - "написал, расширил", а не "написал, выбросил". Но последнее тоже приходится делать.

> 1. Заказчику вообще довольно редко бывает ясно, что же он
> хочет. Именно потому и нужен человек, который знает это
> лучше заказчика

Человек (не заказчик) нужен. Вопрос в том, что не понятно на какой период финансирования нужно рассчитывать. Расчитаешь, что нужно будет делать то-то и то-то и за это заплатят. А не заплятят, т.к. в то время когда надо было решать конкретную задачу мы занимались разработкой гибкого кода на будущее.

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


 
Иксик ©   (2004-04-05 13:41) [73]


> app ©   (05.04.04 13:11) [69]

Вы правы, не крависо :)))


 
serge35   (2004-04-05 13:45) [74]

Я бы не стал искать супер забубенного программиста,
и лучше бы поискал хорошего аналитика, который
может мыслить дальновидно и написать хорошее ТЗ.
По такому ТЗ любой "Ламер" может написать код.
А с "чисто конкретными" программистами, которые
знают все даже разговаривать порой невозможно.
Они сразу любую задачу в уме уже переводят в код,
строят пресловутые иерархии, плодят "очень полезные"
функции, классы. И подбирать программиста
по принципу - человек должен уметь делать что-то, если
он не умеет это что-то, то он не подходит все равно,
что выбирать водителя по принципу: Если он не может
разогнаться по МКАДу до 200 км.ч. за 20 сек, значит
это плохой водитель.


 
Sergey_Masloff   (2004-04-05 13:45) [75]

Юрий Зотов ©   (05.04.04 13:27) [71]
>2. Тем более возрастает роль грамотного проектирования. >Гибкого. По принципу "написал-расширил", а не "написал->выбросил". Потому что слишком дорого это - рабочим кодом >бросаться.
Это в теории... На практике согласно исследований IBM более 80% всей работы всех программистов в мире это переписывание старого работающего! кода. И тенденции к улучшению не видно. Отсюда вывод (ИМХО) все же не только неграмотное проектирование тому причиной.
 Это конечно не призыв к кодированию без проектирования.


 
Юрий Зотов ©   (2004-04-05 13:51) [76]

> Тимохов ©   (05.04.04 13:33) [72]

> А не заплятят, т.к. в то время когда надо было решать
> конкретную задачу мы занимались разработкой гибкого кода на
> будущее

Бывает и так - плавали, знаем :о)

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

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


 
Иксик ©   (2004-04-05 13:51) [77]

Имхо, проектированием и кодированием действительно должны заниматься разные люди.


 
Игорь Шевченко ©   (2004-04-05 13:52) [78]


> На практике согласно исследований IBM более 80% всей работы
> всех программистов в мире это переписывание старого работающего!
> кода


Это наверное, для того, чтобы проблему занятости решить :))


 
Тимохов ©   (2004-04-05 13:54) [79]


>Юрий Зотов
> Видимо, подход о котором говорите Вы может быть применим
> для не особо крупного проекта, предназначенного для конкретного
> заказчика. А тот, о котором говорю я - для крупного проекта,
> предназначенного для произвольного заказчика.

Что такое для вас крупный проект?
1 млн строк в дельфи
1 млн строк в скриптовом языке (своем)
100 тыс строк скриптов
Это средний? Просто интересно...

Хотя, ценю проницательность - проект, действительно, для конкретных заказчиков (пока).


 
Игорь Шевченко ©   (2004-04-05 13:59) [80]

Тимохов ©   (05.04.04 13:54)

Вот MS Office, например, крупный проект. Или тот же Delphi (из всем известных).



Страницы: 1 2 3 вся ветка

Текущий архив: 2004.05.02;
Скачать: CL | DM;

Наверх




Память: 0.66 MB
Время: 0.029 c
4-1078522335
Sulimxar
2004-03-06 00:32
2004.05.02
Мультимедийная клава


3-1081318972
besen-ok
2004-04-07 10:22
2004.05.02
Как орпеделить является значение Null


1-1081680805
Boyza
2004-04-11 14:53
2004.05.02
Виснет при проверке Чекбокса


7-1078809077
lucky4me
2004-03-09 08:11
2004.05.02
phone via voice modem


1-1082145941
tivispider
2004-04-17 00:05
2004.05.02
Как можно узнать кодировку файла (txt)?