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

Вниз

Как перестать беспокоиться и начать работать? :)   Найти похожие ветки 

 
Tux   (2003-01-23 00:01) [0]

Волей случая приходится писать крупный проект с напарником. С утра выковыриваем из Team`a 4 сотни файлов и начинаем работать. Проект такой, что RAD средства помогают мало, дохренища приходится писАть ручками с нуля. Стиль, архитектуру и вообще идеологию диктует руководство. С ужасом заметил, что не могу себя заставить писать как приказывают, т.е. много, тупо и быстро. Напарник УСИДЧИВЫЙ, он с утра крепко садится в кресло и бодро без перекуров до отбоя долбит тупой код навроде

if (frmX.visible) then
begin
mnuX.checked := true
end
else
begin
mnuX.checked:=false;
end;

- конструкции вроде mnuX.checked = (frmX.visible and (x = y)) его приводят в ужас;
- Апи - это буржуйские штучки;
- простому регэкспу он предпочитает подозрительный перебор всякими length, pos и stringreplace (ему это непонятно);
- крайне редко использует RTTI, предпочитает все, что можно, запихивать в Tag (ему это тоже непонятно), к тому же никогда не пользуется указателями;
- его не смущает индексирование коллекций строками (когда можно и нужно числами);
- про абстрактный класс и всякие иерархии я ему разжевываю неделю - не доходит. Copy+Paste - и хоть плачь.

и т.д. и т.п.

В общем, ужас. НО! Он работает продуктивно, а я нет. У него к обеду есть что показать шефу, а я все по MSDN ползаю, сделав едва треть. Читать его код я не могу без улыбки. НО!! Веский аргумент: "мы сорцы сдаем заказчику, ему должно быть все понятно, писать надо как проще и вообще нас сроки жмут".

Вопрос: что с собой поделать? :)) Я же не могу себя насиловать :))


 
Jeer   (2003-01-23 00:22) [1]

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


 
Tux   (2003-01-23 01:17) [2]

Еклмн :) Есть еще один аргумент - оптимизация - потОм, после создания скелетика. В принципе, вариант. Притащить заказчику машинку помощней, на ней все будет летать. "Сдал-принял". Ставим поделку на 95/P133/64. Заказчик заверещит. А мы ему - "Поздняк, подписано! Давай-ка договорчик еще второй подпишем, чтобы быстрее работало???" Мы - типа операторы машинного доения :))


 
Big_Rom   (2003-01-23 03:17) [3]

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


 
kaif   (2003-01-23 03:59) [4]

Разделите с напарником задачу так, чтобы каждый выигрывал от стиля другого. Возьмите коллективную ответственность за весь проект на двоих. Тогда ты сможешь заниматься продумыванием членов абстрактных классов и иерархий, а напарник прописывать все эти
if Visble then
... := True
else
... := False
А еще лучше, если вы разобьете проект на отдельные dll или кто-то возьмет приложение, а кто-то dll. Тогда плюсы коллективной работы сразу выявятся. А в параллель однородно работать - напоминает организацию мануфактуры сапожников прошлого века с гордым названием "Обувная фабрика".


 
Кот Бегемот   (2003-01-23 09:51) [5]

Игорь - ту где ????? - посоветуй чегото товарищу, а ?
Я бы сам - так не был в таком де#$%е :)

ЗЫ: А с другой стороны - начальство тоже право :\
"Работает ? - Точно работает ? - Ничего не трогай..."

А код:
if (frmX.visible) then
begin
mnuX.checked := true
end
else
begin
mnuX.checked:=false;
end;

не такой уже и плохой - все рано твое mnuX.checked := (frmX.visible and (x = y)) компилятор приведет примерно к такому же виду :\


 
gn   (2003-01-23 10:04) [6]


>
> Tux

Если твоё начальство не хочет прислушиваться к твоему мнению
То, что ж тут сделаешь, они платят они и музыку соответственно заказывают
И обижаться тут неначто (только если на их глупость)
А с напарником вам надо распилить приоритеты на данный проект на то он и напарник


 
Слесарь Матерящийся   (2003-01-23 10:09) [7]

А может, сменить напарника?


 
blackman   (2003-01-23 10:11) [8]

Не усложняй себе жизнь.
Операторы машинного доения были и будут.
И это не плохо.
Делай СВОЁ дело и не смотри на других.
Работать надо быстро, а иначе ты можешь никогда не закончить работу и следовательно будешь не нужен.
Если есть время, то можно и в MSDN заглянуть, но если нет, то значит нет...


 
Игорь Шевченко   (2003-01-23 11:33) [9]

Напарника надо либо переучивать либо ампутировать.Другого не дано.
Аргументы: корявый код невозможно сопровождать. В него крайне неудобно вносить изменения (или вы от изменений застрахованы на $1000000)
Copy/Paste - любой изменение придется вносить в N+1 мест.
Если тем более, исходники отдаются заказчику, то серьезный заказчик просуществует с вами ровно один раз при таком подходе.

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

С уважением,


 
Кот Бегемот   (2003-01-23 11:45) [10]

2Игорь Шевченко © (23.01.03 11:33)

Спасибо :))) - а я уже думал ты исчез :(


 
NailS   (2003-01-23 12:05) [11]

Может пора задуматься, а нафига тебе такая работа?
Ничему новому научится, а следовательно и поднять свой скилл, с описанным подходом все равно нельзя.


 
Fiend   (2003-01-23 12:26) [12]

То Tux:
Поддержу мнение kaif про разделение. Т.е., я считаю в принципе глупым и не рациональным выполнять одни и те же подзадачи одного проекта, либо проверять текст напарника. На мой взгляд всегда было оптимальным разбить проект на минизадачи, каждому в зубы дать по набору этих задач. Как каждый из вас будет реализовывать свои алгоритмы это его личная проблема. Единственное о чём надо будет договриться так это моментах где ваши задачи будут стыковаться.
Из своего опыта: в комманде всегда так делали, т.е. например один чел разрабатывает БД, другой клиента и в друг друговы задачи не лезем. Надо что то тому кто пишет клиента от БД, он говорит второму: а как мне получить то то или а как тото удалить/сохранить/добавить не вникая во внутренности. Надо же разработчику БД какая то особенность от клиента, он спрашивает первого или говорит ему шо мол тото и тото, надо так то и так то!

и напоследок то Кот Бегемот:
чё это вы взяли шо компилятор приведет mnuX.checked := (frmX.visible and (x = y)) к блоку с ифами??? он сделает именно код вычисления выражения, а не переколбасит его в проверки


 
Игорь Шевченко   (2003-01-23 12:30) [13]

Fiend © (23.01.03 12:26)

Компилятор переведет наоборот - блок if"ов к mnuX.checked := (frmX.visible and (x = y)), если включена оптимизация. Хотя, может и не перевести.


> Поддержу мнение kaif про разделение


Не с таким напарником. Напарника в конце концов уволят, и что делать с его кодом - переписывать по новой ? Нафиг, нафиг :-)

Лучше учить или менять на ранних этапах.


 
Fiend   (2003-01-23 12:36) [14]

то Игорь Шевченко:
не стоит расчитывать на то что напарника уволят. Ведь это не задаватель вопроса решает. Поэтому как грится если уж он хочет работать в этой конторе или шо там у него не знаю, то ему придётся смириться с этими условиями. Ведь не пойдёт же он к начальству говорить что мол напарник - балбес, это по крайней мере неэтично, самому жаловаться. Я так понимаю они там с напарником на одинаковых должностях. Другое дело если его самого спросят, а как тебе мол второй товарисч? тогда можно и всю правду рассказать, тока при этом надо и от человека не скрывать своё мнение о нём.

ну и про первое: я просто хотел поправить Кота Бегемота, не более


 
Кот Бегемот   (2003-01-23 14:59) [15]

2Fiend © (23.01.03 12:36)

Да я не про то - все равно та или другая конструкция переведется в набор JE JNE - и какая оптимальнее - надо еще посмотреть :)


 
Duce   (2003-01-23 17:53) [16]

Уважаемые, Солнца Вам над головой, или Луны(по вкусу) или микса из обоих этих светил. Вот по теме ветки.
Академическое знание - это прекрасно. Академический код - превосходно. Но это уже из области фундаментальной науки - тогда надо идти в НИИ или подобное место и посвящять себя науке. В индустрии же решаются конкретные задачи, и решаются оптимальным способом! Потому все эти охи-ахи за "арт-оф-программинг" - больно узкий взгляд на вещи. Решаются конкретные задачи на конкретных мощностях. И поэтому наивны мнения, что любой ценой нужно вцепиться в академизм. В конце концов, если мощь железа позволит компенсировать некоторые моменты программинга, то это НОРМАЛЬНО!
(Zic! Я совсем не утверждаю, что нужно сползти на линейный алгоритм из примитивных конструкций, на программингФРУклипборд!) Но в конечном итоге, если и решение на "неграмотном коде", и "на грамотном" устроит в ходе эксплуатации по таким параметрам, как быстродействие( ну какая на хрен эксплуататору разница, что чистое решение работает на 30% быстрее, когда в абсолютных величинах пьюре алгоритм пашет 7 , а грязный-10 сек ), легкость в сопровождении, удобство фейса, то то решение, какое быстрее получено - лучшее.
И плевать хотел эксплуататор нашего с вами труда на академичность кода, и правильно!
И как же я в свое время намучался с одним перфекционистом : -()
Потом узнал, что этот фрукт в прежней конторе писал весьма узкую систему учета около 10 мес. Даже в опытной эксплуатации его софт так и не зажил. А задача требовала 3 рабочих места в одной комнате без перспективы выноса вовне и расширений. Финал- изгнание гения.
Промтехнология требует следования стандарту, а не ежесекундных открытий и прорывов, или виртуозного мастерства. Поэтому герой ветки - безусловно очень талантливый тактик, но плохой стратег, если не может применится к контексту условий задачи, взвесить все аргументы и найти оптимальное качество работы. Вот.
Я не против артОФпрог, но за разумное ему следование. Нужно либо научиться работать в контексте конкретной задачи с учетом многих факторов, либо идти двигать науку. Сделать выбор, перестать беспокоиться и работать.
ПС: все беззлобно, прошу не обижаться :)


 
Lancelot   (2003-01-23 18:14) [17]


> Duce © (23.01.03 17:53)

И тут столкнулись лбами розовая детская мечта и суровая грязная действительность... :)


 
Mike_Goblin   (2003-01-23 20:09) [18]

Присоединяюсь к мнению Игоря Шевченко
одно время и у меня был такой напарник, результаты
1. Чувствуя что заваливает свой участок работы он перед окончанием проекта ушел (это его право и я его не осуждаю)
2. N+1 Copy/Paste был приведен в нормальный вид (в сверурочное время), объем кода стал на 40% меньше, функциональность та же.

> Duce ©
наука не мешает практике, а очень даже помогает, откуда берется стандарт промтехнологии (а если вы знаете как его улучишить, почему не сделать этого?). Ваша позиция напоминает мне анекдот конечная фраза которого - че тут думать, прыгать надо!!!
(PS ничего личного ни к Duce, ни к напарнику)


 
Ketmar   (2003-01-23 20:22) [19]

>Duce © (23.01.03 17:53)
ага. а вы пробовали поддерживать код и модифицировать, написанный в стиле "extreme programming"? причем написанный фиг знает кем? видимо, не пробовали...

Satanas Nobiscum! 23-Jan-XXXVIII A.S.


 
Tux   (2003-01-23 21:10) [20]

Спасибо всем, от души.

Ketmar © (23.01.03 20:22)
Я около полугода назад заинтересовался XP, почитал теорию и удивился несостыковкам - как это можно БЫСТРО написать МНОГО ПРАВИЛЬНОГО кода, даже тех же тестов? КОнтора должна состоять либо из гениев, либо надо какое-то прилагательное выкинуть...


 
Ketmar   (2003-01-23 21:20) [21]

>Tux (23.01.03 21:10)
достаточно просто писать не левой ногой.

Satanas Nobiscum! 23-Jan-XXXVIII A.S.


 
Ketmar   (2003-01-23 21:29) [22]

>Tux (23.01.03 21:10)
а. вы про Extr.Progr? тогда не знаю.

Satanas Nobiscum! 23-Jan-XXXVIII A.S.


 
Duce   (2003-01-24 09:48) [23]

Вы, господа, не совсем поняли, о чем я говорил. Все Ваши аргументы - это аргументы из кузницы от кузнецов. А юзеру скакать надо, и как можно быстрее. Разборки в цеху - не его проблемы. Тут уж кто быстрее подкову удовлетворительного качества сделает - тому и гонорар.
К Mike_Goblin - каждый должен заниматься своей спецификой.
Кто-то- аккуратно и грамотно работает по технологии, выдерживает сроки и минимаксные требования. Кто-то не в цейтноте эти технологии создает. Нигде в послании я не столкнул науку и практику лбами. Индустрия серийного производства использует достижения науки, а не параллельно занимается наукой.
Ничего похожего на "че тут думать, прыгать надо" в своем тексте я не нахожу. Я не зря упоминал ОПТИМАЛЬНОЕ РЕШЕНИЕ. Взвешенное и осмысленное. Не триумф дер виль, не акт воли, а акт разума.
Вот :))


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


> Тут уж кто быстрее подкову удовлетворительного качества
> сделает - тому и гонорар.


При этом надо, чтобы подкова не развалилась через 1 км скачки, и, возможно в будущем, могда прибиваться большим/меньшим количеством гвоздей. И не к копыту, а к колесу автомобиля.
С подходом Copy/Paste я гарантирую заведомый неуспех подобных модификаций.


> Индустрия серийного производства использует достижения науки


Так об чем и речь! Более того, для того, чтобы эту науку использовать, надо ее, как минимум знать :-)

С уважением,


 
Ketmar   (2003-01-24 10:53) [25]

>Duce © (24.01.03 09:48)
скакать, говорите? ну вот выдали юзверю лошадку. быстро выдали. хорошая лошадка. но вот незадача: скачет она странно. 10 метров проскачет, и - бух на бок. приходится ее, болезную, юзверю поднимать. а она тяжелая. теперь вопрос: через сколько метров юзверь задолбается поднимать лошадь и пойдет бить морду продавцу?
я уж не говорю о том, что при попытке повесить на лошадку новое седло оная лошадка просто рассыпается на элементарный скелет и кишки...

Satanas Nobiscum! 24-Jan-XXXVIII A.S.



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

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

Наверх




Память: 0.53 MB
Время: 0.008 c
14-29101
Anatoly Podgoretsky
2003-01-26 02:04
2003.02.10
Именинники 26 января


1-28825
coder-lamer
2003-02-02 01:37
2003.02.10
Вопрос о консольном приложении...


6-28953
FDel
2002-12-16 16:04
2003.02.10
IP-адрес


7-29130
aspen
2002-12-06 11:40
2003.02.10
аналог функции portw[] из паскаля?


9-28583
Asteroid
2002-08-29 02:50
2003.02.10
Генерация текстур





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