Форум: "Прочее";
Текущий архив: 2007.04.15;
Скачать: [xml.tar.bz2];
ВнизВот такие у нас программисты ! Найти похожие ветки
← →
infom © (2007-03-12 13:31) [0]Вчера позвонил мне давний знакомый, спросил занимаюсь ли я до сих пор программированием, я подтвердил! Обрадовавшись он попросил меня помочь его начальнику который пишет программу на Делфи и у него возникло несколько вопросов, я согласился помочь.
Сегодня с утра очень сильно удивился когда увидел "программиста", саму программу и услышал вопросы:
Программист - подполковник, начальник какого-то управления по надзору за деятельностью охранных служб. (Я подумал "Ну мало-ли, может он программист хороший...")
Программу он принес на флешке, суть её рассказывать не буду приведу только описание класса формы:TForm1 = class(TForm)
Panel1: TPanel;
ComboBox1: TComboBox;
ScrollBox1: TScrollBox;
ComboBox2: TComboBox;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Edit8: TEdit;
Label8: TLabel;
Label9: TLabel;
Edit9: TEdit;
Edit10: TEdit;
Edit11: TEdit;
Edit12: TEdit;
Edit13: TEdit;
Edit14: TEdit;
Edit15: TEdit;
Edit16: TEdit;
Label10: TLabel;
Label11: TLabel;
Edit17: TEdit;
Edit18: TEdit;
Edit19: TEdit;
Edit20: TEdit;
Edit21: TEdit;
Edit22: TEdit;
Edit23: TEdit;
Edit24: TEdit;
Label12: TLabel;
Edit25: TEdit;
Edit26: TEdit;
Edit27: TEdit;
Edit28: TEdit;
Label13: TLabel;
Label14: TLabel;
Edit29: TEdit;
Edit30: TEdit;
Edit31: TEdit;
Edit32: TEdit;
Edit33: TEdit;
Edit34: TEdit;
Edit35: TEdit;
Edit36: TEdit;
Label15: TLabel;
Label16: TLabel;
Edit37: TEdit;
Edit38: TEdit;
Edit39: TEdit;
Edit40: TEdit;
Edit41: TEdit;
Edit42: TEdit;
Edit43: TEdit;
Edit44: TEdit;
Label17: TLabel;
Edit45: TEdit;
Edit46: TEdit;
Edit47: TEdit;
Edit48: TEdit;
Label18: TLabel;
Label19: TLabel;
Edit49: TEdit;
Edit50: TEdit;
Edit51: TEdit;
Edit52: TEdit;
Edit53: TEdit;
Edit54: TEdit;
Edit55: TEdit;
Edit56: TEdit;
Label20: TLabel;
Edit57: TEdit;
Edit58: TEdit;
Edit59: TEdit;
Edit60: TEdit;
Label21: TLabel;
Edit61: TEdit;
Edit62: TEdit;
Edit63: TEdit;
Edit64: TEdit;
Label22: TLabel;
Label23: TLabel;
Edit65: TEdit;
Edit66: TEdit;
Edit67: TEdit;
Edit68: TEdit;
Edit69: TEdit;
Edit70: TEdit;
Edit71: TEdit;
Edit72: TEdit;
Label24: TLabel;
Edit73: TEdit;
Edit74: TEdit;
Edit75: TEdit;
Edit76: TEdit;
Label25: TLabel;
Edit77: TEdit;
Edit78: TEdit;
Edit79: TEdit;
Edit80: TEdit;
Label26: TLabel;
Edit81: TEdit;
Edit82: TEdit;
Edit83: TEdit;
Edit84: TEdit;
Label27: TLabel;
Edit85: TEdit;
Edit86: TEdit;
Edit87: TEdit;
Edit88: TEdit;
Label28: TLabel;
Label29: TLabel;
Edit89: TEdit;
Edit90: TEdit;
Edit91: TEdit;
Edit92: TEdit;
Edit93: TEdit;
Edit94: TEdit;
Edit95: TEdit;
Edit96: TEdit;
Label30: TLabel;
Edit97: TEdit;
Edit98: TEdit;
Edit99: TEdit;
Edit100: TEdit;
Label31: TLabel;
Edit101: TEdit;
Edit102: TEdit;
Edit103: TEdit;
Edit104: TEdit;
Label32: TLabel;
Edit105: TEdit;
Edit106: TEdit;
Edit107: TEdit;
Edit108: TEdit;
Label33: TLabel;
Edit109: TEdit;
Edit110: TEdit;
Edit111: TEdit;
Edit112: TEdit;
Label34: TLabel;
Label35: TLabel;
Edit113: TEdit;
Edit114: TEdit;
Edit115: TEdit;
Edit116: TEdit;
Edit117: TEdit;
Edit118: TEdit;
Edit119: TEdit;
Edit120: TEdit;
Label36: TLabel;
Edit121: TEdit;
Edit122: TEdit;
Edit123: TEdit;
Edit124: TEdit;
Label37: TLabel;
Edit125: TEdit;
Edit126: TEdit;
Edit127: TEdit;
Edit128: TEdit;
Label38: TLabel;
Edit129: TEdit;
Edit130: TEdit;
Edit131: TEdit;
Edit132: TEdit;
Label39: TLabel;
Edit133: TEdit;
Edit134: TEdit;
Edit135: TEdit;
Edit136: TEdit;
Label40: TLabel;
Label41: TLabel;
Edit137: TEdit;
Edit138: TEdit;
Edit139: TEdit;
Edit140: TEdit;
Edit141: TEdit;
Edit142: TEdit;
Edit143: TEdit;
Edit144: TEdit;
Label42: TLabel;
Edit145: TEdit;
Edit146: TEdit;
Edit147: TEdit;
Edit148: TEdit;
Label43: TLabel;
Edit149: TEdit;
Edit150: TEdit;
Edit151: TEdit;
Edit152: TEdit;
Label44: TLabel;
Edit153: TEdit;
Edit154: TEdit;
Edit155: TEdit;
Edit156: TEdit;
Label45: TLabel;
Label46: TLabel;
Edit157: TEdit;
Edit158: TEdit;
Edit159: TEdit;
Edit160: TEdit;
Edit161: TEdit;
Edit162: TEdit;
Edit163: TEdit;
Edit164: TEdit;
Label47: TLabel;
Edit165: TEdit;
Edit166: TEdit;
Edit167: TEdit;
Edit168: TEdit;
Label48: TLabel;
Edit169: TEdit;
Edit170: TEdit;
Edit171: TEdit;
Edit172: TEdit;
procedure ScrollBox1MouseWheel(Sender: TObject; Shift: TShiftState;
WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
procedure ComboBox2Change(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
// procedure Label6Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
Остальное можете глянуть тут http://avral.ru/1696 (Больше никуда залить не получилось, к сожалению, webfile глючит, рапиду не люблю, а опубликовать все тут нехватит размеров сообщения).
Увидев программу я смеялся наверно минут 15 (правда про себя).....
Но когда он мне задал вопрос, Как сделать так чтобы если процент меньше нуля Label делался красным, я вообще упал под стул.....
Вот такие у нас программисты :)
← →
Kolan © (2007-03-12 13:35) [1]> Edit172: TEdit;
ИМХО тот кто так пишет мучает сам себя, все равно такое дерьмо на продажу/в использование не поступит...
← →
Virgo_Style © (2007-03-12 13:36) [2]если не знать про фреймы, можно и не такого наворотить (телепатирую)
← →
infom © (2007-03-12 13:40) [3]> [1] Kolan © (12.03.07 13:35)
Вы бы видели что у него делает процедура загрузки данных во все эти лабелы.... вот такой код на протяжении 300 строк:Edit1.Text := Sheet.Cells[3,3+Pokaz].Value;
Edit2.Text := Sheet.Cells[3,4+Pokaz].Value;
Edit3.Text := Sheet.Cells[3,5+Pokaz].Value;
if Sheet.Cells[3,4+Pokaz].Value =0 then
Sheet.Cells[3,6+Pokaz].Value:="0"
else
Edit4.Text := (Sheet.Cells[3,6+Pokaz].Value)*100;
Edit5.Text := Sheet.Cells[4,3+Pokaz].Value;
Edit6.Text := Sheet.Cells[4,4+Pokaz].Value;
Edit7.Text := Sheet.Cells[4,5+Pokaz].Value;
if Sheet.Cells[4,3+Pokaz].Value =0 then
Sheet.Cells[4,6+Pokaz].Value:="0"
else
Edit8.Text := (Sheet.Cells[4,6+Pokaz].Value)*100;
← →
TUser © (2007-03-12 13:40) [4]> Virgo_Style © (12.03.07 13:36) [2]
Или не знает, как динамически создать 172 эдита.
← →
infom © (2007-03-12 13:42) [5]> [4] TUser © (12.03.07 13:40)
Он создал на основе Edit"ов таблицу размером 30*4
← →
Игорь Шевченко © (2007-03-12 13:45) [6]сразу видно - военный.
← →
Kolan © (2007-03-12 13:46) [7]> вот такой код на протяжении 300 строк
Я жговорю мазохист. С другой стороны подполковник - это пАчётно...
← →
Kerk © (2007-03-12 13:55) [8]> вот такой код на протяжении 300 строк
Может, его писали те, кто отмазался от строительства дачи? :))
← →
Брюнетка © (2007-03-12 13:57) [9]>infom © (12.03.07 13:42) [5]
>Он создал на основе Edit"ов таблицу размером 30*4
"Маловато будет! Ма-ло-ва-то!!" (с)
-)
← →
Kolan © (2007-03-12 14:03) [10]> infom ©
Ну ты хоть StringGrid посоетовал?
← →
DillerXX © (2007-03-12 14:05) [11]
> Может, его писали те, кто отмазался от строительства дачи?
> :))
))))))
← →
Думкин © (2007-03-12 14:10) [12]> Kolan © (12.03.07 13:35) [1]
> > Edit172: TEdit;
>
> ИМХО тот кто так пишет мучает сам себя, все равно такое
> дерьмо на продажу/в использование не поступит...
Черт его знает. Видел в одной фирме, не очень большой - около 12 лимонов зелени в год оборот, программу реально использовавшуюся писанную на ФоксПро, которое нечто подобное из себя и представляла - винегрет из контролов, которые облепляли формы практически полностью - не оставляя живого места.
Вначале, как сказали старожилы - все было путем. потом по просьбам менеджерам им стали добавлять контролы и фичи. В итге и появился монстр, который неподготовленного человека приводил в ступор. а те кто работал - даже не ругались, а вполне сносно щелкали на нем свои повседневные задачи.
← →
Alkid © (2007-03-12 14:17) [13]
> Черт его знает. Видел в одной фирме, не очень большой -
> около 12 лимонов зелени в год оборот, программу реально
> использовавшуюся писанную на ФоксПро, которое нечто подобное
> из себя и представляла - винегрет из контролов, которые
> облепляли формы практически полностью - не оставляя живого
> места.
> Вначале, как сказали старожилы - все было путем. потом по
> просьбам менеджерам им стали добавлять контролы и фичи.
> В итге и появился монстр, который неподготовленного человека
> приводил в ступор. а те кто работал - даже не ругались,
> а вполне сносно щелкали на нем свои повседневные задачи.
Есть такая штука - рефакторинг называется. В этой ситуации это самое то, что нужно :)
← →
Думкин © (2007-03-12 14:21) [14]> Alkid © (12.03.07 14:17) [13]
Там это вряд ли. Пристрелить было проще. К тому же авторы программы ушли в другие места. Новым ребятам возится с таким монстром было не очень, благо и руководство было готово к внедрению нового.
Решение было другое - сменить систему. Но насколько успешно получилось, не знаю. Текучка там была и есть большая. Но фирма работает.
← →
tesseract © (2007-03-12 14:26) [15]
> Текучка там была и есть большая. Но фирма работает.
Титаник плывёт!
← →
Аноним (2007-03-12 14:45) [16]Это доп. защита от злоумышленника - чтобы врагам было труднее догадаться
← →
_uw_ © (2007-03-12 14:53) [17]О происхождении видов путем...
//Эта процедура происходит после того как выбирается раздел
procedure TForm1.ComboBox2Change(Sender: TObject);
var AExcelApplication,AWorkBooks,AWorkBook, ASheet: Variant;
BExcelApplication,BWorkBooks,BWorkBook, BSheet: Variant;
ExcelApplication,WorkBooks,WorkBook, Sheet: Variant;
begin if (ComboBox1.ItemIndex = -1)or(ComboBox2.ItemIndex = -1) then exit;
Pokaz := ComboBox1.ItemIndex;
...
...
← →
Alkid © (2007-03-12 14:53) [18]
> Там это вряд ли. Пристрелить было проще. К тому же авторы
> программы ушли в другие места. Новым ребятам возится с таким
> монстром было не очень, благо и руководство было готово
> к внедрению нового.
> Решение было другое - сменить систему. Но насколько успешно
> получилось, не знаю. Текучка там была и есть большая. Но
> фирма работает.
Ну да, согласен - сам на прошлой работе участвовал в "пристрелке" одно такого монстрика и разработке "с нуля" следующей версии.
Просто при грамотном подходе, при выдержке некоторых правил и должной программистско-архитекторской дисциплине можно в разы отдальить кончину программного комплекса из-за превращения в big-ball-of-mud из-за мелких модификаций.
Кстати, примерно по этому же сильно предпочитаю работу в софтверных фирмах, а не там, где софтостроение - это либо побочная либо обслуживающая деятальность :-)
← →
ProgRAMmer Dimonych © (2007-03-12 15:19) [19]> infom ©
Так какие планы-то насчёт этой программы???
Да Нет Отмена Послать Принять Удалить Замочить
P.S. Интересно просто... :)
← →
boriskb © (2007-03-12 15:27) [20]
> Программист - подполковник
...
> Вот такие у нас программисты :)
> infom © (12.03.07 13:31
А доложи ка ты нам тактику мотострелкового полка в оборонительном бою.
← →
infom © (2007-03-12 15:45) [21]> [19] ProgRAMmer Dimonych © (12.03.07 15:19)
Думаю послать ..... Сейчас думаю предложить ему все это сделать просто в Excel, программу писать для того чтобы разделить один столбик даных представленных в листе Экселя на другой и потом распечатать эти данные не хочется.
Подполковник отмел Excel тем что он не удобен и не нагляден...
> [20] boriskb © (12.03.07 15:27)
Может тоже заняться тем в чем ни черта не понимаю и буду пугать спецов каких-нибудь...
← →
Ega23 © (2007-03-12 15:54) [22]
> Ну да, согласен - сам на прошлой работе участвовал в "пристрелке"
> одно такого монстрика и разработке "с нуля" следующей версии.
Кстати, в конце марта, похоже, первая инсталляция "следующей версии"
← →
infom © (2007-03-12 15:55) [23]> [22] Ega23 © (12.03.07 15:54)
Теперь кнопок не 200 как в пред версии а целых 700 ! :)
← →
vajo (2007-03-12 16:03) [24]Может это у полковника хобби такое, а тут профессионализм необязателен.
← →
Ega23 © (2007-03-12 16:15) [25]
> Теперь кнопок не 200 как в пред версии а целых 700 ! :)
Не, там теперь одна большая смарт-кнопка. Причём нажимается тоже сама тогда, когда надо... :)
← →
Real © (2007-03-12 18:22) [26]Програмулина суперская :) Кто нить нажимал "about" ? Автора зовут очень созвучно самой программе: Гр.Ал.Пет
← →
Ega23 © (2007-03-12 18:31) [27]
> Гр.Ал.Пет
Ну это просто.
Грамотный Артиллерист Петров.
:)
← →
isasa © (2007-03-12 18:35) [28]Ega23 © (12.03.07 18:31) [27]
Нет. Фамилия у него такая. "Пет" - это не сокращение. Видишь, точки там нет ...
← →
cyborg © (2007-03-12 18:43) [29]> [20] boriskb © (12.03.07 15:27)
Одна половина окапывается а вторая на мотоциклах заезжает с тыла и стреляет. :)
← →
AntiRussian (2007-03-12 18:49) [30]
> cyborg © (12.03.07 18:43) [29]
>
> > [20] boriskb © (12.03.07 15:27)
>
> Одна половина окапывается а вторая на мотоциклах заезжает
> с тыла и стреляет. :)
Пустить отвлекающим маневром на мясо, а в тыл противнику заслать вертолетный полк со снайперами-гранатометчиками?
← →
udaff_com (2007-03-12 19:45) [31]Пет - жывотное...
← →
Knight © (2007-03-12 19:51) [32]И чё смешного? Кто-то вообще ничего не делает и ничего не спрашивает...
← →
ArtemESC © (2007-03-12 21:03) [33]Тут больше жалости, чем смеха...
← →
Knight © (2007-03-12 21:09) [34]А у человека может супер зрительная память и так ему очень даже удобно.. :)
← →
Sergey Masloff (2007-03-12 21:12) [35]Что я хочу сказать. Всякий мнит себя стратегом видя бой со стороны.
Ув. высмеиватели больше в свой код глядите - уверен перлов там тоже выше крыши. А считаешь что знаешь как лучше - будь добр примерчик. А так... детский сад.
← →
ArtemESC © (2007-03-12 21:13) [36]А может он человек хороший...
← →
Гарри Поттер © (2007-03-12 21:14) [37]> [32] Knight © (12.03.07 19:51)
> И чё смешного? Кто-то вообще ничего не делает и ничего не
> спрашивает...
Точно. Полковник, а учится, вопросы задает. Наверняка сам доходил по книжкам. Ему жирнющий плюс, а тем кто смеется себя вспомнить.
← →
isasa © (2007-03-12 22:03) [38]Да все, в общем то, нормально. И смех беззлобный. Н жетко настораживает факт:
infom © (12.03.07 15:45) [21]
... Сейчас думаю предложить ему все это сделать просто в Excel, программу писать для того чтобы разделить один столбик даных представленных в листе Экселя на другой и потом распечатать эти данные не хочется.
Подполковник отмел Excel тем что он не удобен и не нагляден...
Это Excel-то ненаглядній для таблиц? Excel, если вся работа только с табличнім материалом, да еще с наличием VBA идеален.
:)
← →
Knight © (2007-03-12 22:13) [39]
> [38] isasa © (12.03.07 22:03)
Мож человек в детстве прочитал "Энциклопедия профессора Фортрана" и мечтал стать программером... но не сложилось...
← →
ne (2007-03-12 22:27) [40]Интересно, посмотреть на дискуссию со стороны. Критики разделились на два лагеря, видимо пессимистов и оптимистов, одни видят в человеке что-то хорошее, другие что-то не очень.
Господь, однако с ним с человеком, в каком свете выглядит подобная ситуация для нашего военно-промышленного комплекса.
На мой взгляд, не в лучшем. Если полковник и является экспертом в каком-то вопросе, в вопросе программирования он не обрел еще ряда прозрений, благодаря которым его работа может быть похожа на работу профессионального программиста.
Налицо нехватка разделения труда. И наверняка это не единственная подобная ситуация в вооруженных силах.
Намного привлекательным выглядел бы вариант, когда полковник в треуголке и с шашкой в руке руководил, а программу бы писал замполит.
Страницы: 1 2 вся ветка
Форум: "Прочее";
Текущий архив: 2007.04.15;
Скачать: [xml.tar.bz2];
Память: 0.58 MB
Время: 0.091 c