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

Вниз

К вопросу о работе.   Найти похожие ветки 

 
Карелин Артем   (2002-12-17 14:15) [0]

Читал я тут на днях труды Polevi и Игоря Шевченко. Так стало грустно. Ну зачем им код? Какой код они хотят получить? По каким параметрам его оценивать? Обьем? Красоту отступов? Ну через 2 года я наверно буду менять работу - перейду из одной организации в другую, где платят больше программерам. И что надо будет им наверно что-то рассказывать. А я вот не знаю про мьютексы. Просто они мне на :%* не нужны. И классы сам не писал: переделывал чужие или обходился просто структурами и функциями. Причина как у мьютексов.
Но это еще ни о чем не говорит, я к примеру хорошо владею более прикладными вещами, типа видео, баз и пр.
Даже не знаю теперь что делать: изучать ненужные (пока) для меня мьютексы или же заниматься более полезными в денежном плане вещами. ;)
Мастера, дайте совет небедному студенту - программисту - смоучке блин.


 
Карелин Артем   (2002-12-17 14:19) [1]

Навеяно отсутствием всякой конкретики. Я бы просто не обратил внимание на такие обьявы.


 
Виктор Щербаков   (2002-12-17 14:28) [2]

По исходникам многое можно сказать.
Если человек долго программирует, то у него формируется свой стиль оформления. Ведь без него невозможно будет разработать достаточно объемный проект (запутаешься просто :)
По секрету: можно даже кое-что о характере сказать...
Кроме того, степень абстрактности исходников больших проектов, как правило, достаточно высока. Из этого тоже можно сделать кое-какие выводы.

Ну и плюс элементарные вещи. Например, человек не использует try .. finally там где надо, не проверяет указатель на nil и т.п.
Так что Игор Шевченко и Polevi, ИМХО, выбрали правильный метод.


 
MrBeer   (2002-12-17 14:35) [3]


> А я вот не знаю про мьютексы. Просто они мне на :%* не нужны.


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


 
stone   (2002-12-17 14:41) [4]

2 Виктор Щербаков © (17.12.02 14:28)

Во многом согласен, но есть одно "но". Предположим такую ситуацию: человек прислал резюме и исходники. Все это устроило потенциального работодателя. Пришел на собеседование, поотвечал на вопросы, все хорошо. Результат: вы нас устраиваете, зарплата 300$ (400, 500 ... неважно - одним словом гораздо меньше, чем кандидат предполагает). Ответ: какого черта вы мне все это время морочили голову, если бы я знал об этом изначально, даже обсуждать бы не стал. Другой результат: то, что предлагают делать (даже при хорошей зарплате) абсолютно не соответствует моей специфике, поэтому я за это не возьмусь, т.к. не считаю, что обладаю достаточным опытом (именно опытом, хотя теоритические знания есть) в этой области, если бы я знал об этом изначально, даже обсуждать бы не стал.

Подводя резюме: все только потеряли время.


 
Карелин Артем   (2002-12-17 14:46) [5]

Наверно в 80% нужен человек под конкретную работу. И незнание конкретной вещи говорит просто о том, что претендент неподходящии для конкретнои работы.
Просто от себя добавлю: если работодатель хороший, то он конкретизирует требования. Если никакой конкретики - то это обычно не стоит внимания.
С наиглубочайшим уважением к Игорю и Polevi.


 
Виктор Щербаков   (2002-12-17 14:47) [6]


> человек прислал резюме и исходники.

Это сделать очень несложно.
А вот ходить на собеседование всё равно придется. К ЛЮБОМУ работодателю! По исходникам работодатель лишь определяет, стоит ли Вам туда идти.


 
stone   (2002-12-17 14:53) [7]

2 Виктор Щербаков © (17.12.02 14:47)

Не сочтите за труд, прочтите больше одной строчки :))


 
LordOfSilence   (2002-12-17 14:54) [8]

2 stone © (17.12.02 14:41)

И опять в яблочко!
А не писал примерно это же в подобные ветки, только потому,
что не хотель раздувать лишний флейм и перебивать песТню
"отцам-командирам", ищущим "солдатиков" (условно).


 
Юрий Зотов   (2002-12-17 15:11) [9]

> Карелин Артем

Извините, но так может рассуждать только человек, не понимающий, что такое "стиль программирования".

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

Только не нужно думать, что стиль - это простое форматирование текста. Стиль - это гораздо больше и гораздо сложнее.

А прошедшие этот тест получают письмо, в котором уже конкретно указаны область, характер и условия работы, диапазон зарплаты и пр. Если его это устраивает, он соглашается и уже после этого приезжает на личное собеседование. Если нет - никто ничего не потерял, А ВОТ ВРЕМЯ ВЫИГРАЛИ ВСЕ.

Вот зачем нужны исходники.


 
Игорь Шевченко   (2002-12-17 15:12) [10]

stone © (17.12.02 14:41)

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


> какого черта вы мне все это время морочили голову, если
> бы я знал об этом изначально, даже обсуждать бы не стал


Вы ищете работу и так цените свое время ? Ну-ну...


 
down   (2002-12-17 15:17) [11]

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


 
stone   (2002-12-17 15:25) [12]

2 Игорь Шевченко © (17.12.02 15:12)

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

С уважением...


 
Игорь Шевченко   (2002-12-17 15:29) [13]

stone © (17.12.02 15:25)

> А исходники я не стал высылать, потому что не счел нужным


А я не счел нужным реагировать на письмо без исходников :tongue:
Квиты, однако :-)

С уважением,


 
Карелин Артем   (2002-12-17 15:46) [14]

Все остались при своем мнении, но чуть задумались.


 
Darts   (2002-12-17 15:50) [15]

Вот, уже "вечная" тема:

> Требуется программист :-))))) (Romkin 17.12.02 15:39)

Итак, господа, надо переименовывать "Потрепаться" в "Ищу (предлагаю) работу".

От трепа переходим к делу? :)))


 
MsGuns   (2002-12-17 16:04) [16]

Блин, В.Щербаков и Зотов меня убедили. Вернее, не убедили, а заставили посмотреть на проблему оценки программера по ЛЮБОМУ куску кода.
Действительно, речь идет не об определении степени квалификации кандидата на конкретное место, а о стиле программирования
Против этого трудно возражать, поэтому и не буду 8)

Маленький пример.
У меня есть сейчас помощник - взяли недавно, еще идет испыт.срок.
Все вроде хорошо,- областей, где он разбирается не хуже меня (а иногда даже лучше) достаточно. ООП понимает лучше меня даже. Плюс 3 года стажа работы в некислой конторе. Еще и имеет экономическое ВО. Ну все здорово. Но....

Я просматриваю иногда его проекты и испытываю чувство обалденного дискомфорта - текст не структурирован пропорцитональными отступами (вложенные процедуры и циклы), НИ ОДНОГО комментария. Куча закомментаренного кода. Море "мертвых" кусков кода (К примеру, когда нет компоненты, но остались обработчики или код после "Exit"), не используемых переменных и т.д. И ни ОДНОЙ блок-схемы !

С ужасом думаю, что ВОЗМОЖНО, МНЕ ПРИДЕТСЯ В ЭТО ВЛАЗИТЬ !!!!

И это еще пол-беды. Другая ситуевина. Дал ему задание написать екзешник для заполнения ячеек в Excel-книге по спец.формату, передаваемому текстовым файлом из вызывающей проги. Он сделал. Я передаю. Его прога тупо "вылетает". В чем дело ? Оказывается, он не предусмотрел, что некоторые параметры в текстовом файле могут не иметь значения (Param1=""). Мелочь ? А вот не скажите. Привычка программера ВСЕГДА КОНТРОЛИРОВАТЬ ВХОДНЫЕ ДАННЫЕ - это тоже стиль программирования.

Да и много чего еще можно сказать.

А по поводу моего новичка - он парень неплохой и на мои замечания реагирует нормально, в смысле исправляется. А это тоже немаловажное качество ЛЮБОГО программера. Согласны ?



 
Anatoly Podgoretsky   (2002-12-17 16:05) [17]

Кончай трепаться


 
MsGuns   (2002-12-17 16:24) [18]

>Anatoly Podgoretsky © (17.12.02 16:05)
>Кончай трепаться

СЛУШАЮСЬ, ТОВАРИЩ МАЙОР !



 
Johnny Smith   (2002-12-17 16:55) [19]

2MsGuns © (17.12.02 16:24)
>Anatoly Podgoretsky © (17.12.02 16:05)
>Кончай трепаться
СЛУШАЮСЬ, ТОВАРИЩ МАЙОР !


Вспоминается анекдот:
Командир перед строем подает команды:
-Становись!
-Равняйсь! Отставить!
-Заправиться! Равняйсь! Отставить! Равняйсь! Отставить!
-Смирно! Отставить! Вольно! Равняйсь! Смирно!
Любуется строем. И тихо так самому себе:
-За...сь.
Через секунду:
-Отставить "За...сь"!




 
Мазут Береговой   (2002-12-18 02:47) [20]

Холмсы! расскажите мне чего-нибудь об авторе:
(и такого добра на 143335 lines, 5.74 seconds, 1735772 bytes code, 23461 bytes data)

procedure TDMdlFXE_Actions.ActDesktop_SaveExecuteTarget(
Sender: T_FXE_Action; Target: T_DataObject);
var
Desktop: T_FXE_Desktop;
DesktopName: string;
begin
inherited;

if not TFrmFXE_SelectDesktopName.Execute(DesktopName) then
exit;

Desktop := FXE_Root._Desktops.GetDesktopByName(DesktopName) as T_FXE_Desktop;

if not assigned(Desktop) then
Desktop := T_FXE_Desktop.Create(nil, FXE_Root);

Desktop.BeginUpdate;
try
Desktop.Name.AsText := DesktopName;
Desktop.AccountType.AsVariant := FrmFXE_Main.CurrentAccountType;

FrmFXE_Main.SaveDesktop(Desktop);
finally
Desktop.EndUpdate;
end;
end;

procedure TDMdlFXE_Actions.ActNote_NewExecuteTarget(Sender: T_FXE_Action;
Target: T_DataObject);
var
Note: T_FXE_Note;
begin
Note := T_FXE_Note.Create(nil, FXE_Root.SelectedAccount.Value);
TFrmFXE_Note.Execute(Note);
end;

procedure TDMdlFXE_Actions.ActNote_ShowExecuteTarget(Sender: T_FXE_Action;
Target: T_DataObject);
begin
TFrmFXE_Note.Execute(Target as T_FXE_Note);
end;

procedure TDMdlFXE_Actions.ActNote_HideExecuteTarget(Sender: T_FXE_Action;
Target: T_DataObject);
begin
(Target as T_FXE_Note).NoteForm.Free;
end;

procedure TDMdlFXE_Actions.ActAccount_OpenDemoAccountExecute(
Sender: TObject);
begin
{$IFDEF IS_CLIENT}
TFrmFXE_RegistrationWizard_v2.Execute;
{$ENDIF}
end;

procedure TDMdlFXE_Actions.ActLink_SelectExecuteTarget(
Sender: T_FXE_Action; Target: T_DataObject);
begin
FrmFXE_Main.FrmFXE_Explorer.Show;

if FrmFXE_Main.FrmFXE_Explorer.HostDockSite is TPageControl then
(FrmFXE_Main.FrmFXE_Explorer.HostDockSite as TPageControl).ActivePage := (FrmFXE_Main.FrmFXE_Explorer.Parent as TTabSheet);

FrmFXE_Main.FrmFXE_Explorer.WebBrowser.Navigate((Target as T_FXE_Link).URL.AsText);
end;

procedure TDMdlFXE_Actions.ActLink_AddExecute(Sender: TObject);
var
Link: T_FXE_Link;
begin
inherited;

Link := T_FXE_Link.Create(nil, FXE_Root.SelectedAccount.Value);
Link.Name.AsText := FrmFXE_Main.FrmFXE_Explorer.WebBrowser.LocationName;
Link.URL.AsText := FrmFXE_Main.FrmFXE_Explorer.WebBrowser.LocationURL;
Link.UserDefined.AsVariant := True;

if assigned(FrmFXE_Main.FrmFXE_Navigator_v2) and
assigned(FrmFXE_Main.FrmFXE_Navigator_v2.FrmFXE_NI_WWWUserLinks) and
assigned(FrmFXE_Main.FrmFXE_Navigator_v2.FrmFXE_NI_WWWUserLinks.TV.Selected) and
assigned(FrmFXE_Main.FrmFXE_Navigator_v2.FrmFXE_NI_WWWUserLinks.TV.Selected.Data) and
(TObject(FrmFXE_Main.FrmFXE_Navigator_v2.FrmFXE_NI_WWWUserLinks.TV.Selected.Data) is T_FXE_LinksFolder)
then
Link.Folder.Value := T_FXE_LinksFolder(FrmFXE_Main.FrmFXE_Navigator_v2.FrmFXE_NI_WWWUserLinks.TV.Selected.Data);

if assigned(FrmFXE_Main.FrmFXE_Navigator_v2) and
assigned(FrmFXE_Main.FrmFXE_Navigator_v2.FrmFXE_NI_WWWUserLinks) and
assigned(FrmFXE_Main.FrmFXE_Navigator_v2.FrmFXE_NI_WWWUserLinks.TV.Selected) and
assigned(FrmFXE_Main.FrmFXE_Navigator_v2.FrmFXE_NI_WWWUserLinks.TV.Selected.Data) and
(TObject(FrmFXE_Main.FrmFXE_Navigator_v2.FrmFXE_NI_WWWUserLinks.TV.Selected.Data) is T_FXE_Link)
then
Link.Folder.Value := (TObject(FrmFXE_Main.FrmFXE_Navigator_v2.FrmFXE_NI_WWWUserLinks.TV.Selected.Data) as T_FXE_Link).Folder.Value
end;


 
Aristarh   (2002-12-18 04:35) [21]

>MsGuns © (17.12.02 16:04)

>текст не структурирован пропорцитональными отступами (вложенные
>процедуры и циклы), НИ ОДНОГО комментария. Куча закомментаренного кода.

Вам делать не чего?

Хотя я с вами соглашусь! Всех программеров, у которых свой особенный стиль надо выгнать! Не хрен засерать прогу своей чухней! (я сам не раз сталкивался с подобным). Комментарии еще никто не отменял! Если он отказывается писать пояснения, то пошел он в ж..пу. Он свалит, а фирме страдать из-за этого. Таких как он вагон и маленькая тележка, любой разберется!
А за то, что он себя показал в неспособности предусмотреть пустую строку, так он и в другом будет так вести. Мой совет: гоните его в три шеи.

Вам не смешно? Мне нет! Мне грустно :-(
Не глупые люди, которые имеют свою фирму спрашивают: "а не выгнать ли мне дурика, который не делает такие же отступы как и я"? Я немного утрирую, но это иногда полезно, чтобы четко понять требования и приоритеты.

Вопрос надо ставить не так. (уже слышу возгласы "расскажи нам, внучек!")


 
Anatoly Podgoretsky   (2002-12-18 08:05) [22]

Мазут Береговой (18.12.02 02:47)

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


 
NailS   (2002-12-18 10:23) [23]


> Не глупые люди, которые имеют свою фирму спрашивают: "а
> не выгнать ли мне дурика, который не делает такие же отступы
> как и я"?

А теперь предположим что начальник мягко говоря дурак.


 
Игорь Шевченко   (2002-12-18 13:12) [24]

NailS © (18.12.02 10:23)

> А теперь предположим что начальник мягко говоря дурак.


Тогда программист должен выгоняться сам, так как нарушение корпоративного стандарта - всегда плохо.


 
Darts   (2002-12-18 13:43) [25]

Кстати, неплохо было бы выставить на всеобщее обозрение образцы кодов победителей от работодателей, за которыми стоят [Игорь Шевченко, Polevi]. Не только мне, но и другим будет любопытно посмотреть..


 
Song   (2002-12-18 13:59) [26]

2Darts (18.12.02 13:43)
С разрешения Игоря, я могу предоставить Вам такую возможность.


 
Darts   (2002-12-18 14:02) [27]

> Song © (18.12.02 13:59)

Спасибо. Можете ли разместить в этой ветке следующим постом?


 
Игорь Шевченко   (2002-12-18 14:17) [28]

Darts (18.12.02 13:43)

Об этом лучше просить самих победителей :-)


 
stone   (2002-12-18 14:20) [29]

Огласите весь список :))


 
Darts   (2002-12-18 14:22) [30]

> Игорь Шевченко © (18.12.02 14:17)

(иронично)

.. которые не ходят, чтобы по исходникам узнали год рождения, ФИО, IQ, пристрастия к еде, получаемую зарплату :(((


 
stone   (2002-12-18 14:28) [31]


> чтобы по исходникам узнали год рождения, ФИО, IQ, пристрастия
> к еде, получаемую зарплату :(((


Эти данные требовалось в обязательном порядке указывать в комментариях? :))


 
Johnny Smith   (2002-12-18 15:04) [32]

2Darts (18.12.02 14:22)
чтобы по исходникам узнали год рождения, ФИО, IQ, пристрастия к еде, получаемую зарплату
В Правилах Хорошего Стиля Программирования ясно сказано:

"...число переменных в процедуре (функции) не должно превышать IQ программиста, который потом будет все это разбирать..."

"...первые три public-переменные главной формы (для консольного приложения - просто первые три переменные) должны начинаться с первых букв фамилии, имени, и отчества (исключение только для программисток с ФИО Харитонова Ульяна Яковлевна, Бубликова Лидия Ярославна and so on)..."

и т.д.


 
Darts   (2002-12-18 15:25) [33]

> stone © (18.12.02 14:28)
> Johnny Smith © (18.12.02 15:04)

:)))

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

TKilledComments = object(TObject)
private
// Ничего не скажу
public
// Ничего не вижу
protected
// Охраняется копирайтом фирмы
published
// Ничего не покажу
end;


P.S В чужих комментариях я находил молитвы к богу, стишки и даже маты по случаю сложной реализации процедуры, победные реляции и другое. Правда, то были тексты на Клиппере.


 
Sly   (2002-12-18 15:38) [34]

Вообще-то обилие комментариев свидетельствует скорее о плохом стиле программирования, например, сравните два текста
if a <> ‘’ then {если строковое значение не пустое}
и
if StringValue <> ‘’ then

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


 
esu   (2002-12-18 16:03) [35]

"Любой код можно ругать. Вот даже код ядра Linux ругают. Зато код ядра windows не ругают потому что его никто не видел. А если бы видели ругали бы еще больше."
А если человек пишет так что его код 90% штата не понимают. Кого гнать ? Этого человека или 90% штата ? :) Не могут столько в голове поместить и ругают мол структура плохая.

Скажем был человек (C++) так для него строчка меньше чем на 3-4 экране (штук 10 "->") - не строчка, а фигня какая-то. Ругали его долго...
А программы-то работают и пишутся быстро, за год в 2 раза вырос по ЗП и свалил в другую контору на зарплату в 4 раза больше. А остальные так и остались ругаться ;) Просто зарплату не программисты назначали и это IMHO правильно.


 
Игорь Шевченко   (2002-12-18 16:04) [36]

Sly © (18.12.02 15:38)


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


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


 
esu   (2002-12-18 16:35) [37]

Да и вообще не все программисты очень талантливы, есть и не очень талантливые. И не все фирмы могут себе позволить очень талантливых. И не только в корпорациях есть работа.



 
Игорь Шевченко   (2002-12-18 16:48) [38]

esu © (18.12.02 16:35)

Да и не обязятельно именно программированием заниматься :-)


 
esu   (2002-12-18 17:00) [39]


> Игорь Шевченко © (18.12.02 16:48)

:)


 
Darts   (2002-12-18 17:03) [40]

> Song © (18.12.02 16:49)

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



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

Форум: "Потрепаться";
Текущий архив: 2003.01.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.57 MB
Время: 0.009 c
7-37411
Dron_Fox
2002-10-31 11:41
2003.01.13
Form+DLL


7-37405
Pegas
2002-11-02 12:46
2003.01.13
Как обойти HASP-1C


14-37290
michael_b
2002-12-20 20:08
2003.01.13
Сложная задача по Pascal


4-37475
Arkan
2002-11-27 22:59
2003.01.13
посылка письма


3-36938
race1
2002-12-18 07:49
2003.01.13
sql round





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский