Re[4]: Чем становится прототип?
От: Maxim S. Shatskih Россия  
Дата: 13.12.07 11:59
Оценка:
R>Что, никогда не бывало такого, что первый запуск после часов кодирования — и каким-то чудом все тесты проходят и все работает корректно?

У меня это норма, и не после часов, а и иногда после дней. Иногда все 100% корректно, иногда вылавливается пара мелких багов, но в общем и целом bug rate практически не выше, как на уже релизнутом продукте — т.е. баги поступают, куда без них, но очень медленно и понемногу.
Занимайтесь LoveCraftом, а не WarCraftом!
Re[3]: Чем становится прототип?
От: Maxim S. Shatskih Россия  
Дата: 13.12.07 12:03
Оценка:
A>Ага, а еще такой момент. Прототипирование повторяет идею Test-Driven Development.
A>Т.е. выяснение, что и как делать, происходит не только (и не столько) на этапе предварительного проектирования, а прямо по ходу дела и по ходу возникновения проблем.

"Главный способ найти грабли — это наступить на них!".

Вторая известная сентенция — "не хочешь работать головой, работай руками".

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


Вы сами-то понимаете, что вы тратите в 2-3 раза больше человеко-часов, чем можно?

A>Код прототипа лучше распечатать


Вообще не надо код печатать, это не худлит.

A>и любоваться им издали — так не возникнет соблазна копипастнуть его


А еще можно носить бронежилет на каждый день. Из тех же соображений — чтоб жизнь малиной не казалась.
Занимайтесь LoveCraftом, а не WarCraftом!
Re[3]: Чем становится прототип?
От: Maxim S. Shatskih Россия  
Дата: 13.12.07 12:08
Оценка: +1
L>Арабская мудрость гласит: "Чтобы сделать что-то хорошо, нужно сделать это как минимум дважды". Так вот писАть "сразу и навсегда" это имхо из разряда "in the perferct world" — было бы замечательно, и менеджеры были бы довольны — сильно упростилось бы у них планирование проектов — но в большинстве случаев у реальных разработчиков не получается.

А может, стоит зарплаты поднять и кадровую политику пересмотреть?

P.S. Я занимался программированием в нескольких командах, каждая из которых сделала по достаточно сложному продукту. Так вот, Я НИ РАЗУ не видел, чтобы при написании кода хотя бы в одной из этих команд — а они сильно разные — использовался бы подход с "черновиком". Это для меня вообще новое слово в программировании
Занимайтесь LoveCraftом, а не WarCraftом!
Re[4]: Чем становится прототип?
От: Maxim S. Shatskih Россия  
Дата: 13.12.07 12:12
Оценка: +1
ZEN>Windows NT писалась с нуля. Из "прототипа" Windows 95 брались лучшие, обкатанные идеи и переносились в Windows NT. Windows 95 продолжала оставаться прикладным (но не системным!) полигоном для NT-линейки вплоть до объявления о слиянии линеек в одну на основе ядра NT.

Windows 95 НЕ разрабатывалась с целью создания прототипа для Windows NT, это совершенно очевидно.

Целью ее разработки было — получить полноценно многозадачную и почти полноценно 32битную ОС _с меньшими требованиями к памяти, чем НТ_.

Когда требования к памяти у НТ перестали быть напряжными — линейка Win9x стала умирать. WinMe был просто провальный продукт.

И исторически сначала сделали НТ, а уже потом — Win32 над старым VMM и 16битными GDI и USER, что и есть Win95. Т.е. поток идей шел из НТ в 95, а не наоборот.
Занимайтесь LoveCraftом, а не WarCraftом!
Re[4]: Чем становится прототип?
От: rsn81 Россия http://rsn81.wordpress.com
Дата: 13.12.07 12:16
Оценка: +1
Здравствуйте, Maxim S. Shatskih, Вы писали:

MSS>P.S. Я занимался программированием в нескольких командах, каждая из которых сделала по достаточно сложному продукту. Так вот, Я НИ РАЗУ не видел, чтобы при написании кода хотя бы в одной из этих команд — а они сильно разные — использовался бы подход с "черновиком". Это для меня вообще новое слово в программировании

Может "черновичники" просто не знают что такое пересмотр кода (refactoring)?
Конечно, иногда большой массив кода проще выкинуть и переписать, но, насколько понял, сейчас идет речь про маленькие компоненты.
Re[4]: Чем становится прототип?
От: Left2 Украина  
Дата: 13.12.07 12:18
Оценка: +1
MSS>P.S. Я занимался программированием в нескольких командах, каждая из которых сделала по достаточно сложному продукту. Так вот, Я НИ РАЗУ не видел, чтобы при написании кода хотя бы в одной из этих команд — а они сильно разные — использовался бы подход с "черновиком". Это для меня вообще новое слово в программировании

Ну а лично я сталкивался. К примеру — есть достаточно большой проект, в котором будет использоваться технология SuperPuperMegaWidgets, незнакомая или слабо знакомая разработчикам (по разным причинам, к примеру — технология только что появилась, или сама по себе достаточно нишевая, или или...). Так вот, ИМХО в таком случае написание прототипа с последующим выкидыванием бОльшей части его кода весьма даже оправдано. Т.е. за время написания прототипа разработчики ознакомятся с технологией, её достоинствами и граблями, архитектор скорректирует архитектуру с учётом этих граблей, менеджер увидит насколько вообще оправдано связываться с этой технологией, заказчик посмотрит на прототип и сможет определиться то ли это вообще что ему нужно... Естественно, что такой подход с написанием прототипа имеет свою нишу и не подходит, к примеру, для проектов небольшого размера, или слабо оправдан если у разработчиков за плечами куча опыта по разработке подобных систем. Но тем не менее я считаю что своя ниша у него есть.
... << RSDN@Home 1.2.0 alpha rev. 717>>
Re[4]: Чем становится прототип?
От: iZEN СССР  
Дата: 13.12.07 12:36
Оценка:
Здравствуйте, Maxim S. Shatskih, Вы писали:

iZEN>>Писать можно, но такая фигня получается.


MSS>У меня все хорошо получается. Я бросил пользоваться черновиками (в т.ч. при написании сочинений, о котором тут говорили) еще в старших классах школы.


Я, кстати, тоже в старших классах школы перестал писать черновики. Но получалось слишком кратко, порой сумбурно, тема сочинений не была раскрыта доконца, чем очень премного огорчил учительницу русского языка и литературы. С пятёрок скатился на четвёрки. Стал писать реже — просто со временем надоело выдавать посредственный продукт, стыдно было.
Re[5]: Чем становится прототип?
От: iZEN СССР  
Дата: 13.12.07 12:42
Оценка:
Здравствуйте, Maxim S. Shatskih, Вы писали:

MSS>И исторически сначала сделали НТ, а уже потом — Win32 над старым VMM и 16битными GDI и USER, что и есть Win95. Т.е. поток идей шел из НТ в 95, а не наоборот.


Не соглашусь.
Я говорил о прикладном полигоне.
Интерфейс пользователя WinNT4 (win32.sys и comctl.dll) оттачивался на Win95 и только после этого в 1996 году была выпущена WinNT4 с интерфейсом "как у Win95".
OLE/OLE32 и ActiveX первоначально обкатывались в Win3x/Win95 и только потом переносились в NT-линейку.

Впоследствии даже система драйверов перекочевала из Win98 в Win2000.
Re[4]: Чем становится прототип?
От: VladD2 Российская Империя www.nemerle.org
Дата: 13.12.07 12:51
Оценка:
Здравствуйте, iZEN, Вы писали:

ZEN>Вообще-то, я о том, что Windows 95 унаследовала кучу 16-битного кода от своей предшественницы и плохо масштабировалась. Была ненадёжной.


ZEN>Windows NT писалась с нуля. Из "прототипа" Windows 95 брались лучшие, обкатанные идеи и переносились в Windows NT. Windows 95 продолжала оставаться прикладным (но не системным!) полигоном для NT-линейки вплоть до объявления о слиянии линеек в одну на основе ядра NT.


Вообще-то Windows 95 не только не была прототпом для Windows NT, но и не могла им быть хотя бы потому, что Windows NT вылла на несколько лет раньше.

Общее у Windows NT и Windows 95 только Win32 API.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Чем становится прототип?
От: Andy Panda США  
Дата: 13.12.07 13:08
Оценка: +1
Здравствуйте, RailRoadMan, Вы писали:

RRM>Может сумбурно немного, но интересен у кого какой опыт? Комментарии?

RRM>Опять же начальство может не захотеть отказываться от прототипа и додедывать именного его. Какие аргументы могут быть против?

По моему, в "Программисте-прагматике" для предотвращения подобной ситуации авторы советуют прототип писать не на вашем основном рабочем языке. Если пишете на C#, то сделайте прототип, для обкатки решения, на VB или Delphi.

Основной аргумент против доделок — прототип делается, чтобы быстро дойти до работоспособного варианта, а не до рабочего. Объем доработок и/или исправлений может быть сравним или превысить объем работы необходимый для полного переписывания прототипа.

Хотя, как правило, некоторые части прототипа в финальном решении используются.
... << RSDN@Home 1.2.0 alpha rev. 648>>
Re[6]: Чем становится прототип?
От: Maxim S. Shatskih Россия  
Дата: 13.12.07 13:46
Оценка:
ZEN>Впоследствии даже система драйверов перекочевала из Win98 в Win2000.

нет.

НТ4ую систему драйверов доработали, добавив PnP и power management, и перенесли за уши в Win98, сделав там враппер-эмулятор НТ ядра вокруг VMM под названием ntkern.
Занимайтесь LoveCraftом, а не WarCraftом!
Re[5]: Чем становится прототип?
От: Maxim S. Shatskih Россия  
Дата: 13.12.07 13:47
Оценка:
ZEN>Я, кстати, тоже в старших классах школы перестал писать черновики. Но получалось слишком кратко, порой сумбурно, тема сочинений не была раскрыта доконца

Ну так для этого есть наброски и планчики. Зачем _весь текст_ начерно писать?
Занимайтесь LoveCraftом, а не WarCraftом!
Re[5]: Чем становится прототип?
От: Maxim S. Shatskih Россия  
Дата: 13.12.07 13:51
Оценка:
L>Ну а лично я сталкивался. К примеру — есть достаточно большой проект, в котором будет использоваться технология SuperPuperMegaWidgets, незнакомая или слабо знакомая разработчикам (по разным причинам, к примеру — технология только что появилась, или сама по себе достаточно нишевая, или или...).

Вот эта ситуация как правило есть чья-то блажь кто-то начитался рекламок о технологии.

L>Так вот, ИМХО в таком случае написание прототипа с последующим выкидыванием бОльшей части его кода весьма даже оправдано. Т.е. за время написания прототипа разработчики ознакомятся с технологией, её достоинствами и граблями,


Опять изучаем грабли путем наступания на них?

Нужно почитать тексты о технологии. Документацию на нее. Примерчики (упаси господь из них копи-пейстить, но почитать надо).

Грабли обнаруживаются осмотром местности, глазами, а не болевой чувствительностью лба.

L>архитектор скорректирует архитектуру с учётом этих граблей, менеджер увидит насколько вообще оправдано связываться с этой технологией,


Афигеть! потратили эдак человеко-месяц, чтобы менеджер что-то понял. Кудряво живете. Такой распыл человекоресурса...
Занимайтесь LoveCraftом, а не WarCraftом!
Re[2]: Чем становится прототип?
От: Maxim S. Shatskih Россия  
Дата: 13.12.07 13:59
Оценка:
AP>По моему, в "Программисте-прагматике" для предотвращения подобной ситуации авторы советуют прототип писать не на вашем основном рабочем языке. Если пишете на C#, то сделайте прототип, для обкатки решения, на VB или Delphi.

Авторы жгут не по-детски. Иначе и не скажешь.

То есть — помимо "боевого" языка, всей командой выучить еще и "учебный"? а ведь любой язык, даже учебный — имеет свои заморочки и подводные камни.

Ну и нафига команде, которая делает продукт на Шарпе, ковыряться в нюансах Дельфей?
Занимайтесь LoveCraftом, а не WarCraftом!
Re[6]: Чем становится прототип?
От: Andrei N.Sobchuck Украина www.smalltalk.ru
Дата: 13.12.07 14:46
Оценка: +3
Здравствуйте, Maxim S. Shatskih, Вы писали:

MSS>Нужно почитать тексты о технологии. Документацию на нее. Примерчики (упаси господь из них копи-пейстить, но почитать надо).


Бу-га-га.

MSS>Грабли обнаруживаются осмотром местности, глазами, а не болевой чувствительностью лба.


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

L>>архитектор скорректирует архитектуру с учётом этих граблей, менеджер увидит насколько вообще оправдано связываться с этой технологией,


MSS>Афигеть! потратили эдак человеко-месяц, чтобы менеджер что-то понял. Кудряво живете. Такой распыл человекоресурса...


Это так тяжело потратить всего лиш человеко-месяц на investigation? Тяжело вам там.

ЗЫ. Такое впечатление, что ты под "написать прототит" понимаеш "написать прогу со всем функционалом десятью разными способами", а не "потратить одну сотую от общего времени разработки на исследование".
http://www.smalltalk.ru << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Я ненавижу Hibernate
Автор: Andrei N.Sobchuck
Дата: 08.01.08
!
Re[6]: Чем становится прототип?
От: Left2 Украина  
Дата: 13.12.07 14:53
Оценка: +1
L>>Ну а лично я сталкивался. К примеру — есть достаточно большой проект, в котором будет использоваться технология SuperPuperMegaWidgets, незнакомая или слабо знакомая разработчикам (по разным причинам, к примеру — технология только что появилась, или сама по себе достаточно нишевая, или или...).
MSS>Вот эта ситуация как правило есть чья-то блажь кто-то начитался рекламок о технологии.
Хм. Реклама рекламой, но работать с технологией рано или поздно надо начинать.

L>>Так вот, ИМХО в таком случае написание прототипа с последующим выкидыванием бОльшей части его кода весьма даже оправдано. Т.е. за время написания прототипа разработчики ознакомятся с технологией, её достоинствами и граблями,

MSS>Опять изучаем грабли путем наступания на них?
К сожалению, я не знаю другого эффективного пути обучения.

MSS>Нужно почитать тексты о технологии. Документацию на нее. Примерчики (упаси господь из них копи-пейстить, но почитать надо).

Этого конечно никто не отменял. Но по-настоящему технологию узнаешь только потрогав её руками. Документация-примеры — это всегда только начало, процентов 30 пути.

MSS>Грабли обнаруживаются осмотром местности, глазами, а не болевой чувствительностью лба.

In the perferct world

L>>архитектор скорректирует архитектуру с учётом этих граблей, менеджер увидит насколько вообще оправдано связываться с этой технологией,

MSS>Афигеть! потратили эдак человеко-месяц, чтобы менеджер что-то понял. Кудряво живете. Такой распыл человекоресурса...
Во-1 — я назвал несколько причин, а не только для того чтобы менеджер что-то понял. А во-2 — если на кону стоят человеко-годы, то можно рискнуть человеко-месяцем (в крайнем случае прототип отправляется в топку вместе с технологией).
... << RSDN@Home 1.2.0 alpha rev. 717>>
Re[4]: Чем становится прототип?
От: akarinsky Россия  
Дата: 13.12.07 15:05
Оценка:
Здравствуйте, Maxim S. Shatskih, Вы писали:

A>>Ага, а еще такой момент. Прототипирование повторяет идею Test-Driven Development.

A>>Т.е. выяснение, что и как делать, происходит не только (и не столько) на этапе предварительного проектирования, а прямо по ходу дела и по ходу возникновения проблем.

MSS>"Главный способ найти грабли — это наступить на них!".


MSS>Вторая известная сентенция — "не хочешь работать головой, работай руками".


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


MSS>Вы сами-то понимаете, что вы тратите в 2-3 раза больше человеко-часов, чем можно?


A>>Код прототипа лучше распечатать


MSS>Вообще не надо код печатать, это не худлит.


A>>и любоваться им издали — так не возникнет соблазна копипастнуть его


MSS>А еще можно носить бронежилет на каждый день. Из тех же соображений — чтоб жизнь малиной не казалась.


Ирония неуместна
Времени на прототип и на релиз вместе тратится больше процентов на 20. Ведь это естественно — почти все время было потрачено на отладку прототипа, а релиз получается сам собой Зато потерянное время компенсируется качеством, что, согласитесь, важнее: из всех фаз жизненного цикла проекта дороже всего обходится сопровождение и исправление застарелых багов.

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

Потом, желание подстраховаться и сделать проект как можно более контролируемым — это ведь с опытом приходит. Ведь, когда над проектом работает хотя бы человек 5-6, он постепенно обрастает "макаронами" и излишней сложностью.
Так что не горячитесь С прототипами работать любят многие, и достоинств у них больше, чем недостатков.
На опушке за околицей мужики строили коровник.
Работали споро и весело. Получалось х**во.
Re[7]: Чем становится прототип?
От: akarinsky Россия  
Дата: 13.12.07 15:10
Оценка: -1
Здравствуйте, Andrei N.Sobchuck, Вы писали:

ANS>Здравствуйте, Maxim S. Shatskih, Вы писали:


MSS>>Нужно почитать тексты о технологии. Документацию на нее. Примерчики (упаси господь из них копи-пейстить, но почитать надо).


ANS>Бу-га-га.


MSS>>Грабли обнаруживаются осмотром местности, глазами, а не болевой чувствительностью лба.


ANS>Я таких граблей, на которые натыкался, но которые можно было бы обнаружить "глазами" не припомню вообще.


L>>>архитектор скорректирует архитектуру с учётом этих граблей, менеджер увидит насколько вообще оправдано связываться с этой технологией,


MSS>>Афигеть! потратили эдак человеко-месяц, чтобы менеджер что-то понял. Кудряво живете. Такой распыл человекоресурса...


ANS>Это так тяжело потратить всего лиш человеко-месяц на investigation? Тяжело вам там.


ANS>ЗЫ. Такое впечатление, что ты под "написать прототит" понимаеш "написать прогу со всем функционалом десятью разными способами", а не "потратить одну сотую от общего времени разработки на исследование".



Согласен. Аффтар, похоже, только со студенческой скамьи слез В бой рвется, шашкой махать
На опушке за околицей мужики строили коровник.
Работали споро и весело. Получалось х**во.
Re[8]: Чем становится прототип?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 13.12.07 15:52
Оценка:
Здравствуйте, akarinsky, Вы писали:

A>Согласен. Аффтар, похоже, только со студенческой скамьи слез В бой рвется, шашкой махать


В следующий раз за хамство и за "аффтара" пойдешь в бан.
... << RSDN@Home 1.2.0 alpha rev. 725 on Windows Vista 6.0.6000.0>>
AVK Blog
Re[8]: Чем становится прототип?
От: Maxim S. Shatskih Россия  
Дата: 13.12.07 19:33
Оценка:
A>Согласен. Аффтар, похоже, только со студенческой скамьи слез В бой рвется, шашкой махать

Кто-то грабли сразу видит и на автопилоте обходит, кто-то по ним ходит, и видит их только лобной костью.

Еще раз повторю: написание больших черновиков, чтобы поощущать технологию и посмотреть, что получится — сочли бы бредом все мои бывшие и нынешние работодатели.
Занимайтесь LoveCraftом, а не WarCraftом!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.