Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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.042 c
15-1174286917
zhekan
2007-03-19 09:48
2007.04.15
Помогите разобраться с алгоритмом погрешности


2-1174913131
Карман
2007-03-26 16:45
2007.04.15
как запустить файл?


2-1174909065
bagos
2007-03-26 15:37
2007.04.15
stringgrid


15-1174499553
Real
2007-03-21 20:52
2007.04.15
Рисовалка структуры БД


4-1164036114
Никита
2006-11-20 18:21
2007.04.15
Low Level Disk IO





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