Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.64 MB
Время: 0.04 c
14-1081789585
тихий вовочка
2004-04-12 21:06
2004.05.02
Свой логгер


14-1081765163
DeathMoroz
2004-04-12 14:19
2004.05.02
Скрипты


3-1080761597
wizzo
2004-03-31 23:33
2004.05.02
Как сделать сортировку в Table или DataSorce?


1-1081930063
LDGuest
2004-04-14 12:07
2004.05.02
Импортированыые функции EXE фаила ( PE формат)


14-1081331239
olookin
2004-04-07 13:47
2004.05.02
Оценка стоимости программного обеспечения





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский