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

Вниз

Одна знакомая девушка...   Найти похожие ветки 

 
nikkie   (2004-01-08 22:44) [40]

>Я могу повторить - это не самый страшный кусок кода.
охотно верю. тем не менее, такой код права на жизнь не имеет.

>Если в процедуре не проиходит штатных исключений, то получение и освобождение памяти необязательно обрамлять в try finally, ну а если в ней access violation случится, то какая разница для неотлаженной программы - останется там память неубитая или нет...
не понимаю, Игорь, почему ты так говоришь. ты всегда строишь дерево вызовов, чтобы убедиться, что в этой процедуре не может возникнуть дерево вызовов? а если ты (или кто-то другой) изменил процедуру так, что она теперь возбуждает исключение - то на надо делать поиск по всему проекту, где эта функция вызывается, чтобы поставить все-таки try-finally? а если компилируется с новой версией сторонней библиотеки или VCL - тут что делать?

"Просто она уже привыкла так писать..." - лучше бы привыкла на автомате try ставить, чем такую чушь писать.


 
Игорь Шевченко   (2004-01-08 22:57) [41]

nikkie © (08.01.04 22:44)

Если говорить о том, какой код имеет право на жизнь, то надо сразу выбрасывать в Recycle Bin все примеры из книжек Архангельского и его последователей, и т.п. Разумеется, я с тобой согласен, даже способ приводил, как от манеры писать такой код быстрее избавиться :)) Извиняюсь, наверное уже от мастаков глаза замылились, насмотришься, бывает :)))


 
nikkie   (2004-01-08 23:19) [42]

Разумеется, я с тобой согласен
ну вот и пришли к согласию :)

>даже способ приводил, как от манеры писать такой код быстрее избавиться :))
способ хороший... только мало ли чего она еще "привыкла". будет ли столько премий, чтобы отучить от всех вредных привычек? ;)

поэтому мой способ, как более профилактический, имеет больше шансов на успех... попугать, только попугать, что на работу не возьмут - ведь при приеме не на код смотреть надо. главное, чтобы человек был хороший. :) ну а если девушка еще и спортсменка, комсомолка, красавица и способна всю команду на трудовые подвиги вдохновить - так пусть вообще какой угодно код пишет. :))

примеры из книжек Архангельского и его последователей
ой, щас придут защитники...


 
Игорь Шевченко   (2004-01-08 23:48) [43]


> ведь при приеме не на код смотреть надо. главное, чтобы
> человек был хороший. :)


Эт смотря на какую работу принимать ;)


 
Lola   (2004-01-09 00:55) [44]


> Как ей объяснить, что это криво???

Может быть другим тоном? 90% людей в случае, когда с ними говорят покровительственным тоном или с насмешкой, не соглашаются только лишь из чуства противоречия. Есть вариант, что она не соглашается, потому что Вы для неё не авторитет.

Вообще-то, еще вначале разговора хотела сказать, что с девушкой не о стройности кода надо разговоры вести :))) Толка от них будет больше.


 
Soft   (2004-01-09 01:27) [45]

>>Lola © (09.01.04 00:55) [44]

>>Вообще-то, еще вначале разговора хотела сказать, что с девушкой не о стройности кода надо разговоры вести :))) Толка от них будет больше.

Как говорила Русанова(мой бывший преподаватель):"У вас в группе и так мало девушек а вы с ними еще и о программировании говорите":)


 
Fantasist   (2004-01-09 01:54) [46]


> Премии надо лишать за упорное стремление работать по шаблону - "потому что так все делают".


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


> > подскажи ей что еще можно выделять память при помощи VirtualAlloc

>А можно сразу выделить большой кусок и в нём отсчитывать каждый раз смещение


А стандартый Делфийский менеджер памяти так и делает.


 
Дмитрий В. Белькевич   (2004-01-09 02:46) [47]

>Игорь Шевченко © (08.01.04 17:06) [35]
>Да пока его дождешься, этого естественного отбора :))

Да, Билли что-то засиделся ;)


 
SkyRanger   (2004-01-09 07:11) [48]

Не знаю наскоко это правильно, но я любые функции работы с файлами, с памятью или при вызове SQL-функций заключаю в

try
Except

или
try
finally

правда обычно на этапе оптимизации коды все вроде работает, а то блин начальство не волнует как оно написанно главное чтобы работало к сроку, а потом коды никто мозги не имеет сажуся, прописываю функции, модули. В общем провожу оптимизацию и код ужимается раза в 2-3. И не потому что я так привык, росто коды пишешь проги, да еще работаешь наполовину Сисадмином, а наполовину Эникейщиком, трудно писать сразу оптимально, получается не так как надо, а как получится... :(


 
Kerk   (2004-01-09 09:27) [49]


> Lola © (09.01.04 00:55) [44]
>
> > Как ей объяснить, что это криво???
>
> Может быть другим тоном? 90% людей в случае, когда с ними
> говорят покровительственным тоном или с насмешкой, не соглашаются
> только лишь из чуства противоречия. Есть вариант, что она
> не соглашается, потому что Вы для неё не авторитет.
>

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

> Вообще-то, еще вначале разговора хотела сказать, что с девушкой
> не о стройности кода надо разговоры вести :))) Толка от
> них будет больше.

Нечем возразить. :)


 
Anatoly Podgoretsky   (2004-01-09 10:05) [50]

Kerk © (09.01.04 09:27) [49]
А чего тогда полез с советом по Паскалю, сначала автоиртет заработай :-)


 
Kerk   (2004-01-09 10:10) [51]

А что если ей эту ветку показать? ;)


 
y-soft   (2004-01-09 10:10) [52]

>Fantasist © (09.01.04 01:54) [46]

>> Премии надо лишать за упорное стремление работать по шаблону - "потому что так все делают".

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


Ну так и см. продолжение фразы насчет бездумных экспериментаторов :)))

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

1. Это в основном рекомендации, а не догма
2. Бесплатного сыра не бывает - за все приходится чем-то платить

В результате вместо творцов вырастают толкователи священного писания...

Речь здесь не идет о командных правилах игры, разумной достаточности и изобретении велосипедов. Речь о том, что хороший программист - это думающий программист, который понимает, что именно он делает и почему пишет именно так...


 
Игорь Шевченко   (2004-01-09 10:24) [53]

y-soft © (09.01.04 10:10)


> В результате вместо творцов вырастают толкователи священного
> писания...


Хорошо сказано, присоединяюсь. Даже пример есть, относительно свежий: http://delphimaster.net/view/1-1073402867/


 
DCoder   (2004-01-09 11:03) [54]

Эта девушка хоть продвинуто тормозит ;-))
Я работал с одной тётенькой (в мамы мне годится), которая выросла на ФохПро и паскале (небось первой версии). Так она вообще цыклы не использовала!
Писала что-то типа:
...
label 1,2;
a:=0;
1:
if a>=b then goto 2;
a:=a+F(h)-g(n);
goto 1;
2:
...

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


 
y-soft   (2004-01-09 11:17) [55]

>Игорь Шевченко © (09.01.04 10:24) [53]

Прочитал - сходство мыслей до запятой! Кстати, и Анатолий там говорит о том же...

>DCoder © (09.01.04 11:03) [54]

Я сталкивался вообще с уникальным случаем.

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

В результате девочка получила "5" и свидетельство о начальной квалификации программиста :)))


 
Cobalt   (2004-01-09 11:42) [56]

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


 
nikkie   (2004-01-09 13:26) [57]

>А когда она из справочника загнала 15-ти листовую таблицу в виде массива-константы в программу, я взорвался. Обьяснял долго, что таблицы эти пишутся на основе каких-то исходных формул. И менно эти формулы надо кодировать в виде функций...
если это не таблицы Брадиса были, то вероятно, что никаких формул и нет в природе. так что, тетка вероятно не так плоха...


 
Fantasist   (2004-01-10 02:39) [58]


> Речь о том, что хороший программист - это думающий программист, который понимает, что именно он делает и почему пишет именно так...


Полностью согласен. Однако...

У нас на работе работает женщина. Тоже старшего возраста. Код у нее такой был (Делфи):

procedure SetSomeProperty(value:PChar);
begin
GetMem(fSomeProperty,strlen(value));
fSomeProperty:=value;
end;

Раньше у нее просто стояло fSomeProperty:=value, из-за чего все накрывалось. Кто-то ей подсказал, что надо выделить память - вот она ее и выделила.

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


 
SkyRanger   (2004-01-10 04:33) [59]

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

А как вам годовой отчет по бухгалтерии Excel+Access все енто весит в неупакованном виде 5 Мб и работает, ну сами можете представить...
И ЭТО присылают нам из МОСКВЫ!!! Где по-моему программисты должны быть получше...
Ну и конечно авторы этого продукта 2 дэвушки и одна тетенькаЮ если я ниче не путаю...


 
y-soft   (2004-01-10 10:52) [60]

>Fantasist © (10.01.04 02:39) [58]

Простите за оверквотинг, но уж очень точно сказано :)

http://delphimaster.net/view/1-1073402867/

Fantasist © (10.01.04 02:27) [32]

> использовать ProcessMessages можно, но осторожно.

Использовать потоки можно, но осторожно. Использовать RPC
можно, но осторожно. Использовать dll"ки можно, но осторожно.

Программировать можно, но осторожно. Ибо проблему можно создать везде, если не понимаешь с чем работаешь.


Приведенный Вами пример [58] подтверждает сказанное, так что мы единомышленники - я тоже считаю, что человек на должности старшего программиста должен понимать собственный код...


 
tesseract   (2004-01-10 14:23) [61]

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



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

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

Наверх





Память: 0.62 MB
Время: 0.013 c
14-2360
Тимохов
2004-01-09 19:35
2004.02.02
Вопрос по литературе по программированию.


14-2274
Polevi
2004-01-09 16:45
2004.02.02
EXCEL


3-1948
Sfera
2004-01-09 11:43
2004.02.02
Сложение строк в одном столбце


3-1998
SerKom
2004-01-08 05:39
2004.02.02
Как считать


3-1997
Innokenty
2004-01-08 10:03
2004.02.02
База в access и поля Дата/Время. Проблема.





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