Форум: "Прочее";
Текущий архив: 2008.02.17;
Скачать: [xml.tar.bz2];
ВнизРешил сделать доклад для руководства :) послали&#133 Найти похожие ветки
← →
Kolan © (2008-01-15 22:25) [0]Вот млин неседится же мне.
Работаю самым junior из всех junior девелоперов в фирме.
Если сравнить организацию работы в конторе со всеми книгами Фаулера, Лармана и тд… То полный пипец.
Мои ветки типа «о чем думают те кто называет поля в БД SLPRK_U» все оттуда. Код по большей части хреновый, интерфейс такой же…
Тестеры бегают по зданию для объяснения ошибок, все решения (проектные) принимаются устно и негде не записываются
Решли сделать доклад, про контроль версий, про тестирование, про баг треккинг…
Короче мягко послали. Доказали себе что все нормально…
Я вроде сам понимаю, что если баг репорт пишется на листике и там есть такой пункт типа: «Добавить кнопку» и все, то это плохо, а объяснить/доказать не смог…
Я понимаю вроде что сделать процедуру с именем «P1» — это плохо, а переубедить немогу…
Почему, так? Я неправ? Или просто я не смог доводы привести нормальные?
← →
ketmar © (2008-01-15 22:31) [1]а не пора ли оттуда валить?
← →
Kolan © (2008-01-15 22:35) [2]> а не пора ли оттуда валить?
Да я тоже думаю. А еще седня говорил с человеком, который реально сепец. крутой, но он считает что у него в программах нет ошибок — серьезно… вот.
← →
ketmar © (2008-01-15 22:39) [3]>[2] Kolan©(15.01.08 22:35)
>крутой, но он считает что у него в программах нет ошибок — серьезно… вот.
ты говорил с Кнутом?! O_o
← →
Kolan © (2008-01-15 22:45) [4]> ты говорил с Кнутом?! O_o
Незнаю, он называл себя программистом мирового маштаба, серьёзно совершенно, ни капелько не сомневался(он) в своих словах. Ну ладно, но чтобы совсем ошибок небыло :)
Где бы работать устроится м городе моем, где тест джоэла проходять на 12-11 баллов… эээх:(
← →
Kolan © (2008-01-15 22:47) [5]> ты говорил с Кнутом?! O_o
Незнаю, он называл себя программистом мирового маштаба, серьёзно совершенно, ни капелько не сомневался(он) в своих словах. Ну ладно, но чтобы совсем ошибок небыло :)
Где бы работать устроится м городе моем, где тест джоэла проходять на 12-11 баллов… эээх:(
← →
DiamondShark © (2008-01-15 22:47) [6]Зачем сразу валить? Вполне стандартное начало для "самых junior из всех junior" :)
← →
Kerk © (2008-01-15 22:56) [7]А сегодня день рожденья у Кнута, кстати. Ему исполнилось 70 лет.
← →
ketmar © (2008-01-15 22:56) [8]>[6] DiamondShark ©(15.01.08 22:47)
т-с-с-с. это хитрый план: наглядно продемонстрировать, что лучше почти не бывает. %-)
← →
DiamondShark © (2008-01-15 22:57) [9]
> Незнаю, он называл себя программистом мирового маштаба
Дежа-вю, блин.
На моей самой первой работе тоже был такой же кадр. Разве что без нимба и по воде не ходил.
А код писал такой, что определить, есть ли в нём ошибки, невозможно было никому, включая аффтора.
← →
ketmar © (2008-01-15 22:57) [10]>[4] Kolan©(15.01.08 22:45)
>Незнаю, он называл себя программистом мирового маштаба
в смысле — он асилил написать «hello, world»?
← →
www (2008-01-15 22:57) [11]
> То полный пипец.
знакомая картина
← →
DrPass © (2008-01-15 23:13) [12]
> Почему, так? Я неправ? Или просто я не смог доводы привести
> нормальные?
Есть и другая, имеющая право жить точка зрения. Если у них все и так работает, продукт пишется, продается, делает свое дело... и скорый конец фирмы в обозримом будущем не наблюдается... то может быть и не стоит заморачиваться. Когда это будет действительно НАДО, они сами поймут.
У меня была ситуация... был заказ на программу. Ничего военного, десяток сущностей, два десятка формочек. Что-то вроде нехитрой CRM-системы. Полдня я потратил на то, чтобы придумать и нарисовать в Ервине удобную и гибкую объектную модель... Потом подумал - а зачем? Выкинул модель, и за оставшиеся полдня сделал эту программу целиком. Без всяких сущностей/объектов, по простейшему принципу таблица-датасет-датасурс-контролы.
← →
Kenny (2008-01-16 00:01) [13]Мы не один проект еще не сдали, т.к. пишем крутейший фреймворк, мать его за ногу.
← →
Nic © (2008-01-16 00:05) [14]А меня добивает то, что никто не хочет/не может написать нормальное ТЗ. Элементарно хотя-бы 1 страничку текста A4, в которой бы описывалось назначение и хотя бы ключевые функции программы. Но даже этого никто не в состоянии сделать. В состоянии объяснить на словах. Причём каждый раз при уточнении требований возникает что-нибудь новенькое...
← →
Юрий Зотов © (2008-01-16 00:39) [15]> Nic © (16.01.08 00:05) [14]
> каждый раз при уточнении требований возникает что-нибудь новенькое...
Вот потому и не хотят. В написанное можно ткнуть носом, в сказанное - нет.
← →
Kerk © (2008-01-16 00:56) [16]
> Юрий Зотов © (16.01.08 00:39) [15]
"________ программисты настолько суровые, что могут "сделать за...сь" без ТЗ, ПМ, тестировщиков и электричества" (с) из нашего внутреннего фольклора :)
← →
Nic © (2008-01-16 00:56) [17]
> Юрий Зотов © (16.01.08 00:39) [15]
Совершенно верно.
Например, пишу подсистему расписания для ИС ВУЗа - был бы чёткий список что в нём должно быть - я бы закончил бы работу ещё в том году. А когда появляются новые требования, которые заставляют не только переделывать работающее, но и менять структуру программы.
Чем дальше, тем больше. Недавняя такая отговорка (цитирую) - "я не специалист по составлению ТЗ, меня этому не обучали :-)". Да, наверное, не бывает в природе специалистов по состоавлению ТЗ. И специально нигде этому не учат. Но изложить ключевые требования - подсилу каждому, ИМХО.
← →
Kerk © (2008-01-16 01:00) [18]
> Nic © (16.01.08 00:56) [17]
> Но изложить ключевые требования - подсилу каждому, ИМХО.
Написать хорошее ТЗ зачастую сложнее, чем его реализовать.
← →
Nic © (2008-01-16 01:04) [19]
> Kerk © (16.01.08 01:00) [18]
Это да. Я это понимаю. Но я сталкиваюсь с тем, что мне не могут внятно изложить задачи программы. Наводящими вопросами, как клещами, приходится добвать из клиента, которому ЭТО больше надо, чем мне - что же он хочет.
← →
Юрий Зотов © (2008-01-16 01:08) [20]> Kerk © (16.01.08 00:56) [16]
ПМ - это пистолет Макарова?
:о)
← →
Германн © (2008-01-16 01:46) [21]
> Юрий Зотов © (16.01.08 00:39) [15]
>
> > Nic © (16.01.08 00:05) [14]
>
> > каждый раз при уточнении требований возникает что-нибудь
> новенькое...
>
> Вот потому и не хотят. В написанное можно ткнуть носом,
> в сказанное - нет.
>
Сам лично столкнулся очень плотно 5 или 6 лет назад. И даже ещё хуже. ТЗ было устное, с одним человеком обсуждённое. А подписанный договор был с другим человеком (начальником первого). "А мужики-то и не знали" ничего. А я уехал на халтурку :(
Был скандал. Но с тех пор бардак в нашей конторе уменьшился.
← →
Kolan © (2008-01-16 09:45) [22]Да не ТЗ, составить невозможно, все равно будут изменения. Просто когда не пишется бумага, то тот кто говорит сам не продумывает что делать надо, от этого код переписывать приходится чаще, гораздо чаще…
← →
TUser © (2008-01-16 09:48) [23]
> Nic © (16.01.08 00:56) [17]
Перед тем, как браться за работу, четко оговорить будущие ТТХ изделия, и если заказчик забыл сказать, что программа должна работать, - то ну его нафиг.
← →
data © (2008-01-16 10:03) [24]
> Kolan ©
из таких мест лучше уходить.. чего толку тратить силы на борьбу с мельницами, лучше портатить на карьеру и профес. рост в более перспективной конторе.
← →
Игорь Шевченко © (2008-01-16 10:14) [25]еще у кого-нибудь будут вопросы, почему в России самые крутые в мире программисты пишут на американских Visual Studio и Delphi под американские же Windows ?
← →
Kolan © (2008-01-16 10:19) [26]Устроится бы на роботу к Игорю, или Суслику например… что вы в этой Москве нашли :(? Переезжайте в Ростов :)
← →
Игорь Шевченко © (2008-01-16 10:21) [27]Kolan © (16.01.08 10:19) [26]
> :(? Переезжайте в Ростов :)
У тебя денег не хватит :)
← →
ыы (2008-01-16 10:26) [28]
> Устроится бы на роботу к Игорю, или Суслику например…
Только после того, как устроишься студентом к ЮЗ. %-)
← →
boriskb © (2008-01-16 10:31) [29]> [25] Игорь Шевченко © (16.01.08 10:14)
А к тебе никогда не приходила молодежь с идеей "все сделать как в умных книгах" ? :)
← →
Игорь Шевченко © (2008-01-16 10:39) [30]boriskb © (16.01.08 10:31) [29]
Умная книга умной книге люпус эст
← →
Sergey13 © (2008-01-16 10:44) [31]> [0] Kolan © (15.01.08 22:25)
Я не знаю условий работы в твоей конторе, но с другой стороны лично встречал нескольких "молодых революционеров", которые ничего не умея сами желали все переделывать "в глобальном масштабе". Я не говорю, что ты такой, просто хотелось бы предостеречь от поспешных выводов.
Иногда "со своей колокольни" видится несколько искаженная катрина мира.
← →
Игорь Шевченко © (2008-01-16 10:50) [32]
> но с другой стороны лично встречал нескольких "молодых революционеров",
> которые ничего не умея сами желали все переделывать "в
> глобальном масштабе".
"You say you want a revolution
Well you know
we all want to change the world
You tell me that it"s evolution
Well you know
We all want to change the world
But when you talk about destruction
Don"t you know you can count me out
Don"t you know it"s gonna be alright
Alright Alright
You say you got a real solution
Well you know
we"d all love to see the plan
You ask me for a contribution
Well you know
We"re doing what we can
But when you want money for people with minds that hate
All I can tell you is brother you have to wait
Don"t you know it"s gonna be alright
Alright Alright
You say you"ll change the constitution
Well you know
we"d all love to change your head
You tell me it"s the institution
Well you know
You better free your mind instead
But if you go carrying pictures of Chairman Mao
You ain"t going to make it with anyone anyhow
Don"t you know know it"s gonna be alright
Alright Alright"
(с) :)
← →
Kolan © (2008-01-16 10:53) [33]> Иногда «со своей колокольни» видится несколько искаженная
> катрина мира.
Имхо использовать Mantis (http://ru.wikipedia.org/wiki/Mantis) вместо вердовских фалов и беготни — не революция а эволючия
← →
ыы (2008-01-16 10:55) [34]Удалено модератором
Примечание: Offtopic
← →
ыы (2008-01-16 10:56) [35]Удалено модератором
Примечание: Offtopic
← →
oxffff © (2008-01-16 11:06) [36]Удалено модератором
Примечание: Offtopic
← →
Kolan © (2008-01-16 11:09) [37]Удалено модератором
Примечание: Offtopic
← →
oxffff © (2008-01-16 11:15) [38]
> Sergey13 © (16.01.08 10:44) [31]
> > [0] Kolan © (15.01.08 22:25)
>
> Я не знаю условий работы в твоей конторе, но с другой стороны
> лично встречал нескольких "молодых революционеров", которые
> ничего не умея сами желали все переделывать "в глобальном
> масштабе". Я не говорю, что ты такой, просто хотелось бы
> предостеречь от поспешных выводов.
> Иногда "со своей колокольни" видится несколько искаженная
> катрина мира.
А я встречал старперов которые начитавшись стандартный набор книг были не способны были выйти из этих рамок.
P.S. IMHO вопрос вечный.
← →
Azize © (2008-01-16 12:11) [39]
> Да я тоже думаю. А еще седня говорил с человеком, который
> реально сепец. крутой, но он считает что у него в программах
> нет ошибок — серьезно… вот.
Если программа с первого раза компилируется то она заведомо работает неправильно )) (с)
← →
Юрий Зотов © (2008-01-16 12:17) [40]Если чел всерьез считает, что он всегда пишет абсолютно безошибочный код, то это означает, что опыта у него маловато. Поэтому до крутого спеца он еще недотягивает.
← →
Kerk © (2008-01-16 12:19) [41]Юрий Зотов © (16.01.08 01:08) [20]
> ПМ - это пистолет Макарова?
Проджект Менеджер :)) хотя, в принципе, смысл похожий :)
"________ программисты настолько суровые, что у них есть машина времени, чтобы они могли сделать свои задачи еще вчера" (с)
← →
calm © (2008-01-16 18:54) [42]
> пишу подсистему расписания для ИС ВУЗа
Хо-хо.. в нашем городе в одному ВУЗе постоянно на фултайме за деньги(!) работает 1-2 человека на ИС для ВУЗа. И конца края не видно.
А автору посоветую начать внедрение умных мыслей с себя. Т.е. самому вести документацию по своему коду. При получении задания от старших товарищей рисовать на бумажке и спрашивать, я мол, правильно понял, что вот так надо и т.д.?
Либо свою жизнь улучшишь (как минимум), либо поймешь, почему дело в конторе обстоят имеено так, а не иначе.
← →
calm © (2008-01-16 18:55) [43]А с докладом для руководства, ты Колян, погорячился. Не будут они junior"а слушать. Независимо от того, есть у него полезные мысли или нет.
← →
ketmar © (2008-01-16 19:12) [44]>[43] calm ©(16.01.08 18:55)
>А с докладом для руководства, ты Колян, погорячился. Не будут они
>junior"а слушать.
и это, ящитаю, верх идиотизма.
← →
Kolan © (2008-01-16 19:13) [45]> и это, ящитаю, верх идиотизма.
Доклад?
← →
ketmar © (2008-01-16 19:22) [46]>[45] Kolan©(16.01.08 19:13)
>>и это, ящитаю, верх идиотизма.
>Доклад?
нет. фильтрация выслушивания по сроку работы.
← →
PEAKTOP © (2008-01-16 20:02) [47]> Игорь Шевченко © (16.01.08 10:50) [32]
Мдя, блин... Джон Уинстон Леннон рулит. Плюс адын ! :)
Вот смотрю тут на junior-ов, которые про ТЗ спорят, и себя вспоминаю до того момента, как жисть научила торговать. Ну составили вы ТЗ, ну попытались сдать объект строго по ТЗ, ну остался заказчик недоволен. Может, он вам и заплатит, только не вернется заказчик к вам.
И что Вы, измените мир этим ? - Нет, Вы оставите поле для деятельности таким, как Я. А от Меня заказчики не уходят. И безо всякого ТЗ, договора и вообще какой-либо документации, подтверждающей наши с заказчиком взаимоотношения.
← →
ketmar © (2008-01-16 20:24) [48]>[47] PEAKTOP©(16.01.08 20:02)
>безо всякого ТЗ, договора и вообще какой-либо документации,
>подтверждающей наши с заказчиком взаимоотношения.
где храм? куда ходить на тебя молиццо?
← →
Loginov Dmitry © (2008-01-16 20:46) [49]> [31] Sergey13 © (16.01.08 10:44)
> > [0] Kolan © (15.01.08 22:25)
>
> Я не знаю условий работы в твоей конторе, но с другой стороны
> лично встречал нескольких "молодых революционеров", которые
> ничего не умея сами желали все переделывать "в глобальном
> масштабе". Я не говорю, что ты такой, просто хотелось бы
> предостеречь от поспешных выводов.
> Иногда "со своей колокольни" видится несколько искаженная
> катрина мира.
+1
Сам через это года полтора назад проходил. Сперва все выглядело ужасно! Работало криво! Хотелось все переделать! Но мне повезло - попался мудрый руководитель :) Спланировано все было так, что первые пол-года было некогда коренным образом переделывать существующие исходники - разрабатывалось что-то новое. А после дурацкие мысли о глобальных переделках ушли сами собой.
Если программа работает как положено, но код ужасно написан, то даже думать не нужно о коренных переделках. А вот если она то там, то тут валится и глючит - нужно разбираться в причинах и исправлять (возможно с попутной переделкой отдельных модулей). Переписывать в любом случае не стоит. Все сказанное касается, конечно серьезных систем. Децкие поделки не рассматриваются.
← →
VirEx © (2008-01-16 21:49) [50]
> [49] Loginov Dmitry © (16.01.08 20:46)
> Но мне
> ... повезло - попался мудрый руководитель :) ...
скорей попался тебе хороший психолог :)
← →
Anatoly Podgoretsky © (2008-01-17 00:04) [51]Наверно он готовит новое место работы.
← →
Kolan © (2008-01-17 15:50) [52]Оооооо :)
Согласились, сами, завтра ставим Mantis :)
← →
ketmar © (2008-01-17 16:05) [53]>[52] Kolan©(17.01.08 15:50)
это поделка, у которой на сайте финтифлюшечки и snaps.com? бедные…
← →
Kolan © (2008-01-17 17:42) [54]> это поделка, у которой на сайте финтифлюшечки и snaps.com?
> бедные…
Не это:
http://mantisbt.org/
Суслик присоветовал — я доволен.
← →
ketmar © (2008-01-17 17:51) [55]>[54] Kolan©(17.01.08 17:42)
а я о ней и говорю.
← →
Kolan © (2008-01-17 18:02) [56]> а я о ней и говорю.
И чте не так в ней?
← →
ketmar © (2008-01-17 18:08) [57]>[56] Kolan©(17.01.08 18:02)
а фиг знает. интерморда уродская, отбивает всё желание пробовать. какая морда — такой и код, вестимо.
← →
Черный Шаман (2008-01-17 20:37) [58]
> ketmar © (16.01.08 20:24) [48]
>
> >[47] PEAKTOP©(16.01.08 20:02)
> >безо всякого ТЗ, договора и вообще какой-либо документации,
>
> >подтверждающей наши с заказчиком взаимоотношения.
> где храм? куда ходить на тебя молиццо?
Зачем. Обычный паттерн-понимания - "устами младенца". Заказчик рассказывает что он хочет. Потом ты подробно, как младенцу, рассказываешь заказчику что он хочет. В результате достигаете консенсуса. В 90% случаев такое устное ТЗ самое эффективное. Кроме того тот же принцип используется с пользователями системы, работающими у заказчика.
Если заказчику лень тебя выслушивать и тратить своё время, то он и получает "нечто", но это уже его проблемы.
← →
Kolan © (2008-01-17 21:52) [59]> Черный Шаман
Главное когда сядешь код писать незабыть все что наговорили, да? :)
← →
Черный Шаман (2008-01-17 22:18) [60]
> Kolan © (17.01.08 21:52) [59]
>
> > Черный Шаман
>
> Главное когда сядешь код писать незабыть все что наговорили,
> да? :)
Я диаграмки в процессе с пунктами на бумаге рисую. Только для себя, никакой красоты. Удобнее тем что не нужно придерживаться стандартов UML да и вообще никаких стандартов. А для тебя оно ясно как полная диаграмма классов на А1, причём, заверенная заказчиком.
← →
Kolan © (2008-01-17 22:52) [61]> диаграмма классов заверенная заказчиком
0_o охо, крутые заказчики :)
Есть подозрение что разрабатываешь ты программы в одиночку, угодал?
← →
Nic © (2008-01-18 00:00) [62]
> calm © (16.01.08 18:54) [42]
>
> > пишу подсистему расписания для ИС ВУЗа
>
> Хо-хо.. в нашем городе в одному ВУЗе постоянно на фултайме
> за деньги(!) работает 1-2 человека на ИС для ВУЗа. И конца
> края не видно.
Я на пол ставки на кафедре работаю. Взял подсистему, оставленную другим разработчиком, который не довёл её до ума. Покопал-покопал. Решил с 0 делать, т.к. в тех исходниках чёрт ножки переломает и захлебнётся. За 2,5 месяца практически всё уже готово. Ещё какое-то время поотлаживать - конфетка будет. При том, что делалось всё в очень размеренном темпе и без начального опыта работы с БД. Всё можно было бы сделать за 1-2 недели если не быстрее... если бы зарплата была бы реальной, а не символической и если бы был хотя бы примерный ТЗ.
← →
Sandman25 (2008-01-18 08:49) [63]Решил с 0 делать, т.к. в тех исходниках чёрт ножки переломает и захлебнётся
Вот поэтому должно быть и ТЗ, и ТП, и Инструкция администратора, и Инструкция пользователя. Потому как принцип самосвала никто не отменял.
Зы. Для тех, кто не знает, принцип самосвала - сколько нужно самосвалов, сбивающих сотрудников, чтобы проект стал неудачным?
← →
Searcher (2008-01-18 10:33) [64]дайте ссылку на mp3 Ленона из [32], а то везде одни регистрации)
← →
Dennis I. Komarov © (2008-01-18 10:43) [65]> Ещё какое-то время поотлаживать - конфетка будет.
+
> и без начального опыта работы с БД.
Поверь, через некоторое время конфетка растает :)
← →
Павел Калугин © (2008-01-18 11:42) [66]> [46] ketmar © (16.01.08 19:22)
верх идиотизма это когда стажер имеет прямой доступ к телы главного босса:)
> [52] Kolan © (17.01.08 15:50)
ставить мало. Надо еще заставить использовать оную, а не тилипонную трубку или курилку
> [62] Nic © (18.01.08 00:00)
Давай спорить, что при внимательном рассмотрении найдется десяток моментов о которых ты не только не подумал, но даже и не знал. А они должны быть реализованы...
Эх сколько раз я сам на подобные грабли наситупал. пока не научили жестко раз и на всегда - нет ТЗ нет сроков даже приблизительных. А научили просто. Озвучил 1-2 недели. дали 3 и сказали - не будет готово - будут санкции. Пришлось поселится на работе на 3 недели. Больше так не хочу:)
← →
dr Gonzo (2008-01-18 12:04) [67]
То полный пипец.
Писец, это когда вы работает по всем законам программинга, по супер ТЗ, используете все современные средства программирования/контроля версий/QA и т.д. . А продукт проваливается по не зависящим от вас причинам, и вам не платят $, или задерживают зарплату...
← →
Kolan © (2008-01-18 12:07) [68]> Надо еще заставить использовать оную, а не тилипонную трубку
> или курилку
Ессно, что это входит, и даже основной пункт предложения моего…
← →
Павел Калугин © (2008-01-18 12:09) [69]> [68] Kolan © (18.01.08 12:07)
ну и? большой босс буде we в Мантис писать? с момента внедрения?
не смеши мои тапочки. А пока этого не начнет делать большой папа в конторе этого не будет делать практически никто. Кроме, разве что, выпендривающихся стажеров.
← →
ZoldBerger (2008-01-18 12:39) [70]Пользуйся стандартами: ч.1
2. Создание визуальных и не визуальных объектов в программном интерфейсе GUI
2.1 Формирования имен объектов, компонентов, форм, листингов, классов, функций, операций, процедур, операторов, типов… и тд
Имя формируется следующим образом
<префикс><содержательная часть>
Пример: если содержательная часть имени формы “Main”, то ее имя должно быть “frmMain”. Для имен иных объектов используется префикс “V”.
Объекты, которые используются в сторонних формах программы, если таковые были перечислены, либо в class, либо public, должны именоваться
<Имя формы>.<префикс><опознавательная часть><содержательная часть>, например
“frmConnectionLogin” содержит переменную в public, с именем strHostName: string;, то доступ к ней будет производиться следующим образом:
frmConnectionLogin.strHostName := ‘127.0.0.1’;
ВНИМАНИЕ: Имя объектов не должно быть, такими, какие Delphi по умолчанию их устанавливает, например Label1: TLabel label<>: TLabel
Необходимо присвоить логическое имя объекта, содержащее несущую информацию в нем, либо оставить “vision”, например: VbtnOpenFile: TButton – здесь мы объявляем о создании кнопки, в последствии которая будет открывать файл, при ее нажатии, аналогично Vod_MainDocument: TOpenDialog, объявляем о создании диалогового окна открытия файла.
2.2 Имена временных файлов в памяти или TEMPDIR
Имена временных файлов формируются в зависимости от находящейся в них информации. После обязательно префикса “tmpF_”, следует одно- или сложносоставное имя:
tmpF_<часть1>[<часть2>…]
Часть 1 в сложносоставном имени указывает на роль данного файла в программе, его суть, или просто имя, которое может программа задавать в соответствии RandomWords();
Для облегчения программирования в команде по стандартам “DTVIC”, при написании кода в Delphi, следует вводить комментария на каждую написанную область команд, например:
Листинг 4
unit unfrmMain;
interface
uses
Windows, Messages, SysUtils,
Variants, Classes, Graphics,
Controls, Forms, Dialogs,
StdCtrls;
type
TfrmMain = class(TForm)
VbtnCloseButton: TButton;
procedure VbtnCloseButtonClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmMain: TfrmMain;
implementation
{$R *.dfm}
{ При нажатии на данную кнопку, программу будет закрыта}
procedure TfrmMain.VbtnCloseButtonClick(Sender: TObject);
begin
Close; // Команда для закрытия формы, родительский компонент frmMain
end;
end.
← →
ZoldBerger (2008-01-18 12:40) [71]ч. 2
2.4.1. Оформление кода
Разрешено Запрещено Описание
begin BEGIN, Begin, BeGiN, bEGIN… Запрещено использовать разный регистр символов в системных командах.
Procedure TfrmMain.spFOO
procedure TfrmMain.spFoo
Procedure tfrmmain.spfoo
Procedure TFRMMAIN.SPFOO
Не рекомендуется использовать разный регистр символов, как показано в таблице.
Procedure spMy;
Begin
// Здесь код
End; Procedure spMy;
Begin
// Здесь код
end; Следует использовать иерархическое представление кода
<Объект>.<Свойство>.<Подсвойство> := <параметр>; <Объект>.
<Свойство>.
<Подсвойство> := <параметр> Не рекомендуется при написании кода свойства и его под-свойства описывать в разных строках
3 Комментарий
Два слеша (“//”) – используется для комментарий по строкам
Листинг 5
begin
Result := GetCurrentDir(); // Получение текущего пути в виде string
end;
Фигурные скобки (“{}”) – используются в начале куска кода, поверх операции
Листинг 6
{Определение настроек компонента WindowsMediaPlayer}
function TWindowsMediaPlayer.Get_settings: IWMPSettings;
begin
Result := DefaultInterface.settings;
end;
{Возвращает текущий звуковой канал}
function TWindowsMediaPlayer.Get_currentMedia: IWMPMedia;
begin
Result := DefaultInterface.currentMedia;
end;
{Присваивает настройки для звукового канала}
procedure TWindowsMediaPlayer.Set_currentMedia(const ppMedia: IWMPMedia);
begin
DefaultInterface.Set_currentMedia(ppMedia);
end;
Круглые скобки со звездочкой (“ (* *) ”) – используются для исключения выделенного кода для компиляции
Листинг 7
property URL: WideString index 1 read GetWideStringProp write SetWideStringProp stored False;
property currentMedia: IWMPMedia read Get_currentMedia write Set_currentMedia stored False;
(*
property currentPlaylist: IWMPPlaylist read Get_currentPlaylist write Set_currentPlaylist stored False;
property enabled: WordBool index 19 read GetWordBoolProp write SetWordBoolProp stored False;
property fullScreen: WordBool index 21 read GetWordBoolProp write SetWordBoolProp stored False;
property enableContextMenu: WordBool index 22 read GetWordBoolProp write SetWordBoolProp stored False;
property uiMode: WideString index 23 read GetWideStringProp write SetWideStringProp stored False;
property stretchToFit: WordBool index 24 read GetWordBoolProp write SetWordBoolProp stored False;
*)
property windowlessVideo: WordBool index 25 read GetWordBoolProp write SetWordBoolProp stored False;
property OnOpenStateChange: TWindowsMediaPlayerOpenStateChange read FOnOpenStateChange write FOnOpenStateChange;
← →
ZoldBerger (2008-01-18 12:40) [72]ч.3
Заголовки процедур и функций
Заголовок процедуры имеет вид:
PROCEDURE <имя> [(<сп.ф.п.>)];
Заголовок функции:
FUNCTION <имя> [(<сп.ф.п.>)]: <тип>;
Здесь <имя> - имя подпрограммы (правильный идентификатор);
<сп.ф.п.> - список формальных параметров; <тип> - тип возвращаемого функцией результата.
Сразу за заголовком подпрограммы может следовать одна из стандартных директив assembler, external, far, forward, inline, interrupt, near. Эти директивы уточняют действия компилятора и распространяются на всю подпрограмму и только на нее, т. е., если за подпрограммой следует другая подпрограмма, стандартная директива, указанная за заголовком первой, не распространяется на вторую.
 assembler - эта директива отменяет стандартную последовательность машинных инструкций, вырабатываемых при входе в процедуру и перед выходом из нее. Тело подпрограммы в этом случае должно реализоваться с помощью команд встроенного Ассемблера.
 external - с помощью этой директивы объявляется внешняя подпрограмма.
 far - компилятор должен создавать код подпрограммы, рассчитанный на дальнюю модель вызова. Директива near заставит компилятор создать код, рассчитанный на ближнюю модель памяти. Введены для совместимости с Delphi 1, которая использовала сегментную модель памяти.
 forward - используется при опережающем описании (см. п. 8.6) для сообщения компилятору, что описание подпрограммы следует где-то дальше по тексту программы (но в пределах текущего прораммного модуля).
 inline - указывает на то, что тело подпрограммы реализуется с помощью встроенных машинных инструкций.
 interrupt - используется при создании процедур обработки прерываний.
Помимо описанных в Object Pascal можно использовать также стандартные директивы, регламентирующие способ передачи параметров через стек и использование регистров для их передачи - такие директивы используются при работе с ядром Windows. Они перечислены в приводимой ниже таблице. Графа порядок определяет порядок размещения параметров в стеке: слева направо означает размещение в стеке по порядку описания - сначала первый параметр, затем второй и т. д.; справа налево означает размещение с конца перечисления параметров - сначала последний, затем предпоследний и т. д. Графа Очистка определяет, кто будет очищать стек: подпрограмма перед передачей управления в вызывающую программу или программа после получения управления. Графа регистры содержит да, если для передачи параметров помимо стека используются также регистры центрального процессора.
Таблица 8.1. Стандартные директивы, регламентирующие способ передачи параметров через стек и использование регистров для их передачи
Директива Порядок Очистка Регистры
safecall Справа налево Подпрограмма Нет
Stdcall Справа налево Подпрограмма Нет
Cdecl Справа налево Программа Нет
Pascal Слева направо Подпрограмма Нет
Register Слева направо Подпрограмма Да
Примечание
Все фуйкции API ядра Wmdows;скомпилированы .в режиме stidcall, а те, что доддерживают технологию СОМ - в режиме sаfеса11.
← →
ZoldBerger (2008-01-18 12:42) [73]Либо почитай из DelphiWorld
%DelphiWorldFolder%\base\code_control.html
← →
Nic © (2008-01-18 14:56) [74]
> Павел Калугин © (18.01.08 11:42) [66]
> > [46] ketmar © (16.01.08 19:22)верх идиотизма это когда
> стажер имеет прямой доступ к телы главного босса:)> [52]
> Kolan © (17.01.08 15:50)ставить мало. Надо еще заставить
> использовать оную, а не тилипонную трубку или курилку> [62]
> Nic © (18.01.08 00:00)Давай спорить, что при внимательном
> рассмотрении найдется десяток моментов о которых ты не только
> не подумал, но даже и не знал. А они должны быть реализованы.
> ..Эх сколько раз я сам на подобные грабли наситупал. пока
> не научили жестко раз и на всегда - нет ТЗ нет сроков даже
> приблизительных. А научили просто. Озвучил 1-2 недели. дали
> 3 и сказали - не будет готово - будут санкции. Пришлось
> поселится на работе на 3 недели. Больше так не хочу:)
Да, в процессе разработки так и было. Сделал вроде половину работы и тут на гора выдают ещё три раза по столько же - как новые требования.
← →
oxffff © (2008-01-18 15:09) [75]
> ZoldBerger (18.01.08 12:42) [73]
Красавчик. :)
← →
Kolan © (2008-01-18 15:24) [76]> большой босс буде we в Мантис писать
Большой босс не кодит.
Страницы: 1 2 вся ветка
Форум: "Прочее";
Текущий архив: 2008.02.17;
Скачать: [xml.tar.bz2];
Память: 0.7 MB
Время: 0.045 c