|
Страшные слова
|
|||
---|---|---|---|
#18+
Скажите пожалуйста, что такое Design Patterns (шаблоны проектирования), где их берут, с чем их едят и вообще кто их использует и зачем? А то мне тут говорят, что это вроде как самое элементарное и каждый должен это знать и если не знаешь, то вроде ты и не программер уже. А я вроде как-то 5 лет программлю на Delphi, сейчас на C#, и потом еще PHP, JavaScript, а про Design Patterns не в зуб ногой. И еще мне тут наговорили страшных слов из 3 букв: DDD, TDD, UML. И главное, что мне хотелось бы узнать насчет этих слов - насколько это все сложно изучить быстро и вообще сколько времени на это нужно? Куда сходить по этому поводу, что почитать?. И второе - кому это нужно и насколько распространено? Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2009, 12:23 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
MikeKSИ второе - кому это нужно и насколько распространено? Нужно это самим разработчикам, больше никому. Однако, если Вам незнание этого никак не мешает зарабатывать деньги программизмом, то и не забивайте голову. Это, знаете, сродни открытию того, что макароны, оказывается, удобнее есть ложкой. Однако, если вы и вилкой до этого справлялись неплохо, то ради чего заморачиваться-то? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2009, 23:20 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
MikeKSИ второе - кому это нужно и насколько распространено?Тут один человек красиво сказал: Дедушко_Но_молодойпетушинное потрясание красивым программистским гребнем ввиде тяги к технологическим изыскам вместо функциональности и сопровождаемости. Есть специалисты, которые решают проблемы бизнеса, а есть такие, которые не решают, и со знанием Design Patterns и UML это слабо коррелирует. Хотя в принципе знание Design Patterns, так же как и остального, не повредит. И вообще образование - это хорошо. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2009, 00:04 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
Уважаемые господа! Нигде меня не забанили, напротив, я сейчас активно ищу информацию по этим позициям. Как я понял из разговора с одной из западных компаний, они считают знание TDD, UML и Design Patterns как само собой разумеющееся, точнее они считают, что это основы, без которых и программистом Вас считать никто не будет. Так вот я и пытаюсь теперь понять, в действительности ли это так а) за бугром и б) у нас. И сколько у нас компаний (в %), которые ведут разработки подобным образом? Я, вообще, правильно понимаю, что это все инструменты, которые в основном используются на больших проектах, где нужно организовать работу многих программистов? Или еще многие пишут, что это позволяет сократить время на разработку, повысить ее качество и читабельность кода за счет унификации и т.п. Это действительно так? Кто-нибудь из присутствующих это на себе ощутил? Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2009, 00:28 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
И что такое DDD? Что почитать на тему UML, DDD, TDD, Design Patterns!? Чтобы научиться работать с этим барахлом!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2009, 00:32 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
MikeKSИ что такое DDD? Я только про отладчик знаю. MikeKSЧто почитать на тему ... Design Patterns!?Понять, что такое Design Patterns - Шаблоны проектирования , далее уже читать литературу и специальные сайты. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2009, 10:41 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
MikeKS, паттерн это стандартный подход к реализации типовой задачи грубо говоря если знать достаточно паттернов и уметь сводить свои задачи к типовым - время на проектирование сокращается время на разработку и дальнейшая поддерживаемость реализованного зависит исключительно от того насколько типизация и паттерн были притянуты за уши в одной статье про паттерны видел замечательные ступени в их изучении: 1. сначала вы используете их неосознанно .... N. в конце концов вы снова используете их неосознанно Что касается юмл - он просто нагляден для создания объектной модели (кстати модель суть часть паттерна, который так или иначе осознанно или неосознанно используют все) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2009, 12:06 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
И шаблоны, и UML нужны не для разработки как таковой, а для общения в комманде, в том числе - с клиентами и подрядчиками. Это то же самое, что знание языков. Восточная мудрость гласит что-то вроде - человек, который знает один язык - один человек, два языка - два человека, и так далее. Хорошее применение и изучение шаблонов, это когда прочтя книжку, вы поняли, что и так правильно пользуетесь всем этим, но не знали, что кто-то это так назвает. Что касается UML, его нужно знать как дорожные знаки, потому как есть некие соглашения, и вы будете тупо выглядеть, если нарисуете схему похожую на UML, но обозначать она будет нечто совсем другое, одному вам понятное. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2009, 13:15 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
CoolibinЭто, знаете, сродни открытию того, что макароны, оказывается, удобнее есть ложкой. Однако, если вы и вилкой до этого справлялись неплохо, то ради чего заморачиваться-то? Да, но единожды попробовав спагетти с ложкой, уверен, вы уже не станете крошить макарон. на эту тему ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2009, 14:14 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
MikeKSСкажите пожалуйста, что такое Design Patterns (шаблоны проектирования), где их берут, с чем их едят и вообще кто их использует и зачем? Патерны полезны, когда работаешь с языками низкого уровня, например С или С++. Если трудишся "под фраймверком" или со скриптовыми языками, то заморачиваться не приходится. В "фраймверках" и многие технологические решения уже приняты, что освобождает от множества проблем. MikeKSА то мне тут говорят, что это вроде как самое элементарное и каждый должен это знать и если не знаешь, то вроде ты и не программер уже. Не обращай внимания. Т.к.: MikeKSА я вроде как-то 5 лет программлю на Delphi, сейчас на C#, и потом еще PHP, JavaScript Оно тебе и не надо, т.к. работаешь не под теми инструментами, где важны эти знания. Меня например это знание хорошо выручает, т.к. работаю не только с 1С, но и с с++. Хотя стал замечать, что некоторые элементы применяю и в 1С. Наверно просто стал "узнавать" патерны в коде. вкусите множество сексуальных наслаждений с нашей новой платформой... (с) 1С ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2009, 14:36 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
MikeKS пишет: > Я, вообще, правильно понимаю, что это все инструменты, которые в > основном используются на больших проектах, где нужно организовать работу > многих программистов? Не совсем, только TDD, UML могут этому понять. Design Patterns - скорее элемент общей грамотности программиста, хотя конечно, знание их поможет понимать других. Или еще многие пишут, что это позволяет сократить > время на разработку, Не всегда. повысить ее качество и наверное, да. читабельность кода за счет > унификации и т.п. Это действительно так? Ну, и да, и нет. Это- инструменты, если уметь ими пользоваться,то будет эффект. Если не уметь, эффекта не будет. Даже, на счёт времени разработки, может появиться отрицательный эффект, поскольку и TDD, и UML -- это всегда некая накладуха, на которую нужно тратить время. Кто-нибудь из присутствующих > это на себе ощутил? Ощутил. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2009, 16:31 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
gp пишет: > И шаблоны, и UML нужны не для разработки как таковой, а для общения в > комманде, в том числе - с клиентами и подрядчиками. На кой хрен заказчику видеть твои классы ? Ему знаешь ли до этого по барабану. Если речь идёт о диаграммах типа Use Case, то именно к разработке на мой взгляд они мало отношения имеют. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2009, 16:34 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
trdm пишет: > Патерны полезны, когда работаешь с языками низкого уровня, например С > или С++. > Если трудишся "под фраймверком" или со скриптовыми языками, то > заморачиваться не приходится. > В "фраймверках" и многие технологические решения уже приняты, что > освобождает от множества проблем. Как раз при работе под фреймворками патерны полезны как никогда. Потому что во фреймворках часто эти паттерны и реализованы. Если ты их знаеш, то уже знаеш априори пол фреймворка. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2009, 16:37 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
Вот так 'Вера Ивановна открыла для себя ТайДД'. Я начал реализовывать некий численный метод. В процессе использования обнаружил, что метод не всегда корректно работает, точнее - почти всегда некорректно. Оказалось, что он корректно сработал единственный раз, когда я его тестировал "обычным порошком". Я запускал некий метод из меню программы, он открывал окно, и вываливал график функции. Я вприглядку определил, что "пятен нет" и забыл. К моменту, когда выявилась неисправность, я уже благополучно вымарал и вывод графика из рабочей программы, и пункт меню, где "тестировал". Меня взбесила собственная тупость, и я решил так больше не поступать. Я незадолго прочел кой-что о TDD, и хотел применить на практике. Начал с того, что вынес метод и поля, которые методом использовались из хрен-знает-какого класса в собственный класс, отвечающий именно за данный численный метод. Вынес класс в собственный библиотечный проект. Это помимо всего прочего гарантировало, что я не использую какую-либо переменную из класса, который я не тестирую. Создал по одному тесту для известных свойств функции из мат. справочника. Сразу оказалось, что не все свойства напрямую представимы в виде тестов типа: f(X) = Y Более ценными оказались несколько теорем и их следствий, который рассматривались в том же мат. справочнике, и которые как раз выдавали эти самые связки f(X) = Y. Всего их было около 12-и. Естественно, я так же создал по одному тестовому методу для каждого известного проблемного случая. Каждый из этих методов имел вид типа: Assert.AreEqual(y, f(x)); Первое что я отметил, запустив NUnit, была скорость. Во-первых, я не ждал компиляции большущего приложения. Я тестировал малюсенький проект. Во вторых, я не лазил по меню, чтобы вызвать тестовый метод. Можно исправлять и запускать хоть по нескольку раз в минуту. Я тут же получил почти все красные лампочки, даже для тех наборов параметров, с которыми я тестировал при разработке раньше. Последнее меня удивило, ведь так точно работало в тот раз ! Начал разбираться, оказывается, в коде закомментирована одна строка, которую я много раз комментировал и откомментировал туда сюда, и в конце концов - оставил неправильный вариант каким то образом. После исправления одна зеленая лампочка таки-зажглась. ... Не могу вам передать, сколько раз я видел, что горят 3 из 20 лампочек, 18 из 20, 1 из 20 в разных комбинаторных сочетаниях, пока я переделывал код всего-навсего одного метода, чтобы добиться правильной его работы. Теперь представьте, сколько у меня было шансов решить, что наконец-то все заработало, и можно дальше не париться, тогда как метод работал только для некоторых параметров, но не для других. В процессе я выделил в тестируемом методе еще два служебных, которые могли самостоятельно использоваться как библиотечные функции для решения своих математических задач, и написал для каждой собственный набор тестов, штук по 10 для каждой, опять же прибегнув к авторитету предметной области - мат. справочнику. Оказалось, что в обеих подпрограммах основной программы были свои ошибки, но "погасить красные лампочки" в этом случае оказалось гораздо проще. Добившись, что все лампочки в конце-концов зажглись зеленым, я понял, что только теперь у меня есть гарантия что хоть это хоть как-то работает. Обозрев чудовищную простыню тестовых методов, я понял, что она уже гораздо длиннее тестируемого кода. И это было великолепно, потому что именно этот код имел ценность, а не код метода, который можно переписывать по 100 раз на дню, и все мало будет. По крайней мере я потратил время на то, чтобы создать гарантию правильного решения задачи, который и после моей смерти будет стандартным способом описывать правильное решение. Но в то время я еще не понимал этого, и считал, что я сделал нечто ламерское, неправильное и ненужное. Моей смерти ждать не пришлось, ибо стало ясно, что хотя метод работает теперь блестяще правильно, он все еще далеко не оптимален по времени и по памяти. И вот тут я понял, что усилия были в правильную сторону. Началось самое test-driven, до этого это была просто попытка привести к этой парадигме. Теперь у меня была свобода воротить в коде метода все, что хочется, я точно знал, что ничего не сломаю, потому что "волшебные пузырьки" тут же все покажут красным светом. От алгоритма и камня на камне не осталось: я все переписал заново, убрав рекурсию, и много кой чего еще. Два служебных метода тоже были полностью переписаны. Я еще никогда так легко и уверенно не переписывал ничего. Тут до меня стало доходить, в чем сила TDD. Сам код не так уж и ценен. Гораздо ценнее усилия по проверке, что этот алгорити работает. И эти усилия аккумулируются в необходимом и достаточном колличестве в виде отдельных тестовых методов, и поэтому больше не будет никакого: "главное ничего здесь не трогать, слава богу - работает", потому что код, покрытый тестами, легко поставить с ног на голову и обратно, если понадобится, и быть уверенным, что ничего не сломается. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2009, 18:50 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
MasterZiv trdm пишет: > Патерны полезны, когда работаешь с языками низкого уровня, например С > или С++. > Если трудишся "под фраймверком" или со скриптовыми языками, то > заморачиваться не приходится. > В "фраймверках" и многие технологические решения уже приняты, что > освобождает от множества проблем. Как раз при работе под фреймворками патерны полезны как никогда. Потому что во фреймворках часто эти паттерны и реализованы. Если ты их знаеш, то уже знаеш априори пол фреймворка. малость уточню. я 10 лет занимаюсь 1С-ом и не разу у меня не встал вопрос "как организовать код" Потому что выбор не приходилось делать: инструменты ограничены. Вот когда связался с проектом на С++ сразу почувствовал что чего-то мне не хватает, полез разбираться: http://www.forum.crossplatform.ru/lofiversion/index.php?t379.html Вот тут на них напал и понял, что самое оно.... отседа и выводы, так сказать по своему опыту... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2009, 01:56 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
trdm Патерны полезны, когда работаешь с языками низкого уровня, например С или С++. Здраааавствуйте!.. Когда это С и С++ стали языками низкого уровня? Я что опять в своей жизни что-то проспал? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2009, 03:34 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
trdm wrote: > малость уточню. я 10 лет занимаюсь 1С-ом и не разу у меня не встал > вопрос "как организовать код" Потому что это - 4GL, там все эти паттерны на фиг не нужны, там для всего этого должны быть языковые средства. Эти все особенности давно известны (в смысле об этом много сказано и написано), т.е. -- что применение Design Patterns очень зависит от языка программирования. -- что в некоторых языках некоторые паттерны просто не нужны, поскольку либо встроены в язык, либо проблем, которые они решают, не существует. Например, хорошо известно, что всяческие фабрики в языках с метаклассами типа SmallTalk-а не нужны вообще. Или не нужен паттерн Visitor в языках, поддерживающих мультиметоды (множественную диспетчеризацию). Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2009, 11:25 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
VxS_ wrote: > Здраааавствуйте!.. Когда это С и С++ стали языками низкого уровня? Я что > опять в своей жизни что-то проспал? Ну как, они конечно формально языки высокого уровня, но есть языки и более крупные. Есть просто т.н. 4GL, есть и в рамках языков высокого уровня более "крупные" языки. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2009, 11:27 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
VxS_trdm Патерны полезны, когда работаешь с языками низкого уровня, например С или С++. Здраааавствуйте!.. Когда это С и С++ стали языками низкого уровня? Я что опять в своей жизни что-то проспал? По всей видимости - проспали, потому как С и С++ действительно являются языками низкого уровня. Точнее они охватывают диапазон уровней, в том числе и низкий, чем в значительной мере и обусловлена их популярность. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2009, 16:19 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
gpVxS_trdm Патерны полезны, когда работаешь с языками низкого уровня, например С или С++. Здраааавствуйте!.. Когда это С и С++ стали языками низкого уровня? Я что опять в своей жизни что-то проспал? По всей видимости - проспали, потому как С и С++ действительно являются языками низкого уровня. Точнее они охватывают диапазон уровней, в том числе и низкий, чем в значительной мере и обусловлена их популярность. Что в вашем понимании "охватывают несколько уровней"? И что вы понимаете под "низкоуровневым языком"? В моем понимании - низкоуровневый язык - это язык, в котором мы напрямую работаем с машинными командами. Если вы считаете, что assembly-вставки делают С++ низкоуровневым, то тогда делфи с его asm ... end; вы тоже считаете низкоуровневым, а точнее "охватывающим несколько уровней"? На мой взгляд, какая-то отсебятина. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2009, 23:57 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
MasterZiv Ну как, они конечно формально языки высокого уровня, но есть языки и более крупные. Есть просто т.н. 4GL, есть и в рамках языков высокого уровня более "крупные" языки. +1 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2009, 00:01 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
VxS_, Низкоуровневым С и C++ делает работа с памятью. Посредством работы с памятью в C и С++ есть возможность писать системно-зависимый код, не прибегая к нестандартным расширениям языка. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2009, 01:31 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
gpVxS_, Низкоуровневым С и C++ делает работа с памятью. Посредством работы с памятью в C и С++ есть возможность писать системно-зависимый код, не прибегая к нестандартным расширениям языка. Вот оно что... У нас с вами совершенно разное понимание "что есть низкоуровневый язык". ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2009, 04:22 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
gpVxS_, Низкоуровневым С и C++ делает работа с памятью. Посредством работы с памятью в C и С++ есть возможность писать системно-зависимый код, не прибегая к нестандартным расширениям языка. в смысле код int *x=new int [10]; является низкоуровневым и системнозависимым, так как int в одной системе будет 32 бит, а в другой 64? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2009, 04:50 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
gp пишет: > Низкоуровневым С и C++ делает работа с памятью. > Посредством работы с памятью в C и С++ есть возможность писать > системно-зависимый код, не прибегая к нестандартным расширениям языка. Это - бредовое заявление в духе Ява- фанатизма. Никогда не слышал, чтобы языки классифицировали по возможности или невозможности работы с памятью. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2009, 09:50 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
я конечно погрешил против общепринятой классификации, назвав языки С и С++ языками низкого уровня. Это языки высокого уровня. Но для меня они низкоуровневые :) (С позиции тупого 1С-ника :) ) вкусите множество сексуальных наслаждений с нашей новой платформой... (с) 1С ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2009, 11:34 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
Уважаемые господа! Ваша беседа про низость отдельных языков программирования весьма занимательна и столь же бесполезна в практическом аспекте вопроса. Поэтому разрешите перевести дискуссию в исходное русло. Вот наконец я прозрел и понял, что без Design Patterns'ов жить никак нельзя! Да и вообще, как можно без них жить, ведь это основы грамотности программиста! Выходит, я был неграмотен! Мои программы лишь бессмысленное нагромождение классов, а ведь существуют в мире совершенно иные программы, содержащие только красивые выверенные годами решения! В них почти нет ошибок, потому благодаря TDD, ошибки выявляются еще до того, как были сделаны! И конечно же, никто никогда не напишет и строчки кода, пока не нарисует с пару десятков замечательных UML-диаграмм. А может и потом не напишет, потому что есть волшебные тулзы, которые эти самые диаграммы ... але-гоп.. и превращают в готовый код. Или, по крайней мере, в скелет кода. Теперь я действительно озадачен. Мне надо во что бы то ни стало, вычитать, желательно по-русски, про все эти паттерны и заучить их наизусть (потому что я ищу работу и потенциальные работодатели меня зачастую на эту тему напрягают). Где же мне все это узнать? И еще очень интересно, сколько в мире этих паттернов существует. Вот тут кто-то писал, надо знать достатоно паттернов. А достаточно, это сколько? 5? 10? 100? 1000? Я сходил в библиотеку, но нашел пока лишь книгу про UML. Перевод с американского, читать невозможно. Там и про паттерны было немного, но описано было от силы 5 паттернов на 5 страницах. Абстрактная фабрика, например. И все? Сколько этих паттернов существует и в какой, желательно бумажной русской книжке, я могу это прочитать? Вы ведь уже сталкивались с подобными вопросами, на чем Вы учились? Мне нужно в отношении .NET (кто-то тут писал, что от языка многое зависит). ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2009, 12:05 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
но если в гугле не получается, то вот например подборка: http://wiki.agiledev.ru/doku.php?id=books ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2009, 12:43 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
MikeKSУважаемые господа! ............ Вот наконец я прозрел и понял, что без Design Patterns'ов жить никак нельзя! ........Мне нужно в отношении .NET (кто-то тут писал, что от языка многое зависит). патерны для нета? думаю безсмысленно. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2009, 13:11 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
MikeKSищивгугле!!!, Спасибо большущее за ссылку, очень интересно, пойду с этим списком по магазинам и библиотекам. Но честно говоря, хотелось обмена опытом, человеческого отзыва. Что Вы читали, что понравилось, что нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2009, 13:13 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
trdmMikeKSУважаемые господа! ............ Вот наконец я прозрел и понял, что без Design Patterns'ов жить никак нельзя! ........Мне нужно в отношении .NET (кто-то тут писал, что от языка многое зависит). патерны для нета? думаю безсмысленно. trdm Как раз при работе под фреймворками патерны полезны как никогда. Потому что во фреймворках часто эти паттерны и реализованы. Если ты их знаеш, то уже знаеш априори пол фреймворка. К тому же и книжка такая есть английская. Про поттерны в шарпе. Так что вряд ли так уж, как Вы сказали. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2009, 13:16 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
MikeKS trdm Как раз при работе под фреймворками патерны полезны как никогда. Потому что во фреймворках часто эти паттерны и реализованы. Если ты их знаеш, то уже знаеш априори пол фреймворка. это не мои слова. читай внимательнее. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2009, 13:22 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
trdmMikeKS trdm Как раз при работе под фреймворками патерны полезны как никогда. Потому что во фреймворках часто эти паттерны и реализованы. Если ты их знаеш, то уже знаеш априори пол фреймворка. это не мои слова. читай внимательнее. Сорри, я и не думал, что это твои слова. Просто квоту криво скопировал. Слова чужие, но суть от этого не меняется. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2009, 13:31 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
классика от банды четырёх Гамма, Хелм, Джонсон, Влисидес. где скачать не знаю, у меня в виде книжки. вообще второе сообщение в треде даёт ссылку на википедию, там указана литература, которую стоит изучить. вся она есть на русском, вся имеется в продаже, по крайней мере, в Москве. там же указан список паттернов, некоторые с описанием. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2009, 13:42 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
А про рефакторинг слышал? Как программисту он тебе нужнее. ИМХО ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2009, 14:00 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
MikeKS пишет: > Вот наконец я прозрел и понял, что без Design Patterns'ов жить никак > нельзя! Да и вообще, как можно без них жить, ведь это основы грамотности > программиста! Выходит, я был неграмотен! Мои программы лишь > бессмысленное нагромождение классов, а ведь существуют в мире совершенно > иные программы, содержащие только красивые выверенные годами решения! В > них почти нет ошибок, потому благодаря TDD, ошибки выявляются еще до > того, как были сделаны! Так может ты наоборот гениальный программист и изобретаешь свои собственные паттерны, а не используешь чужие. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2009, 14:03 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
KOLO-Pokemon, Я почитал что называется рефакторингом и понял, что этим умным словом называют процесс, который обычно происходит у меня после мысли "блин... а можно ведь было сделать лучше, красивее, удобнее, гибче..." ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2009, 14:09 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
MikeKS, читал Э.Гамма и др. (GoF) - банда четырёх - это классика, типа откуда есть пошло название Design Patterns читал Фаулера - очень занятные у него книги и статьи на сайте. У него же, кстати, есть и про UML читал всякие другие про TDD. Идеи интересные, у буржуев значительно распространенные, у нас - сильно меньше. Однако их строгих доказательств я не встречал, и опыт показывает, что и без них можно вполне успешно срубать бабло программерством. На тему их полезности вообще уже многие тут высказались. ИМХО, это вопрос личного пристрастия. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2009, 14:10 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
MasterZiv MikeKS пишет: > Вот наконец я прозрел и понял, что без Design Patterns'ов жить никак > нельзя! Да и вообще, как можно без них жить, ведь это основы грамотности > программиста! Выходит, я был неграмотен! Мои программы лишь > бессмысленное нагромождение классов, а ведь существуют в мире совершенно > иные программы, содержащие только красивые выверенные годами решения! В > них почти нет ошибок, потому благодаря TDD, ошибки выявляются еще до > того, как были сделаны! Так может ты наоборот гениальный программист и изобретаешь свои собственные паттерны, а не используешь чужие. Следующему потенциальному работодателю, который рискнет сказать мне слово паттерн, я так и скажу. Только боюсь, он не поверит в мою гениальность. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2009, 14:11 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
тут немножко книжек: http://code.google.com/p/unnstudio/downloads/list вкусите множество сексуальных наслаждений с нашей новой платформой... (с) 1С ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2009, 15:11 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
MasterZiv Так может ты наоборот гениальный программист и изобретаешь свои собственные паттерны, а не используешь чужие. Вот и я так же изобретал свои одно время, а потом оказалось, что все они уже изобретены... :-) Хотя, чтобы эффективно применять паттерны нужен некоторый опыт. И еще, знание их помогает в разборе чужого кода, конечно если этот код писался с применением их. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2009, 15:24 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
MikeKSищивгугле!!!Однако их строгих доказательств я не встречал, у паттернов не бывает строгих доказательств, иначе они назывались бы теоремы. паттерны - это из серии бэст-практикс MikeKSищивгугле!!!и опыт показывает, что и без них можно вполне успешно срубать бабло программерством.паттерны проектирования никакого отношения к срубанию бабла не имеют, это правда. они имеют отношение исключительно к проектированию. для срубания бабла нужны паттерны баблорубки. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2009, 15:33 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
egorychпаттерны - это из серии бэст-практикс +1024^1024 :) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2009, 15:46 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
egorychдля срубания бабла нужны паттерны баблорубки. оголосите пожалуйста сей патерн, ибо интересно... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2009, 15:47 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
trdm, я не в курсе, я программизмом занимаюсь )) но верю, что должны быть... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2009, 15:57 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
VxS_trdm Патерны полезны, когда работаешь с языками низкого уровня, например С или С++. Здраааавствуйте!.. Когда это С и С++ стали языками низкого уровня? Я что опять в своей жизни что-то проспал? Насчет низкого уровня никогда не встречал, но вот лет 25 назад язык С в популярной литературе действительно относили к языкам среднего уровня. Названия книг уже не помню, но встречал такую трактовку в нескольких трудах. Тогда о языке С писали мало, но обязательно упоминали, что язык С предназначен для системного программирования а не для прикладного. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2009, 16:27 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
AlexKBVxS_trdm Патерны полезны, когда работаешь с языками низкого уровня, например С или С++. Здраааавствуйте!.. Когда это С и С++ стали языками низкого уровня? Я что опять в своей жизни что-то проспал? Насчет низкого уровня никогда не встречал, но вот лет 25 назад язык С в популярной литературе действительно относили к языкам среднего уровня. В том то и дело, что среднего, а не низкого. Я и попрежнему счита, что это язык среднего уровня, хотя многие считают его языком высокого уровня. С++ - язык высокого уровня З.ы. Предлагаю больше не касаться этой темы - явный оффтоп. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2009, 07:02 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
тема паттернов для баблорубки вызвала глубокий резонанс общественности... в моем лице! ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2009, 14:07 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
Gang of Four C# patterns Для чего нужны паттерны хорошо демонстрируют готовые фреймфорки - SCSF,CompositeWPF ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2009, 17:30 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
Приемы ОО проектирования. Паттерны проектирования. Автор: 3. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес Формат: PDF Год издания: 2001 Размер архива: 5.35mb http://depositfiles.com/ru/files/b41l7sjyu ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2009, 08:42 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
gp<...> Про долгое-долгое покрытие функций юнит-тестами <...> Нисколько не умаляя необходимости в unit-тестах, хочется ехидно поинтересоваться: а кто оплатил Ваше время, потраченное на покрытие юнит-тестами всего кода сразу? Действительно ли качество и косность кода дошли до такой критической точки, что дальше - никак? И что, по Вашей оценке, было дешевле - ввести юнит-тесты для существующего, или переписать по-новой - уже с юнит-тестами? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2009, 23:58 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
AlexTheRavengp<...> Про долгое-долгое покрытие функций юнит-тестами <...> Нисколько не умаляя необходимости в unit-тестах, хочется ехидно поинтересоваться: а кто оплатил Ваше время, потраченное на покрытие юнит-тестами всего кода сразу? лучше потратить некоторое время на юнит-тесты, чем некоторое количество денег на проктолога, когда заказчик поймет, что глюк в авторском ПО ввел его в некоторый немалый убыток.... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2009, 00:33 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
trdm<...>лучше потратить некоторое время на юнит-тесты, чем некоторое количество денег на проктолога, когда заказчик поймет, что глюк в авторском ПО ввел его в некоторый немалый убыток.... То, что программа проходит unit-тесты, в самом лучшем случае говорит только о том, что она работает так, как программист считает правильным. То, что она соответствует требованиям заказчиков, что правильно отрабатывает "бизнес-логику" - совсем не гарантируется. Т.е. unit-тесты не выявляют непонимания и в разной степени сознательного игнорирования задач, проблем и требований программистами. Наоборот, IMHO самая большая ценность unit-тестов - как раз в том, что они побуждают ещё раз пересмотреть код, посмотреть в ТЗ ("а как оно должно работать на самом деле?"), переписать попроще, с комментариями (чем "изящнее" объектная конструкция, тем больше количество и сложность необходимых unit-тестов). А правильность программы должно проверять тестирование, в т.ч. и автоматизированное. Но проводить его должны тестировщики, у которых своё мнение о том, что написано в ТЗ, что нужно заказчику и как будет работать пользователь. Я к тому, что unit-тесты - это "последние 10%" повышения качества, когда остальные меры уже исчерпаны. Если программа не тестируется тестировщиками - написание для неё unit-тестов программистами является не самым эффективным вложением денег её качество. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2009, 01:02 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
AlexTheRaven пишет: > поинтересоваться: а кто оплатил Ваше время, потраченное на покрытие > юнит-тестами всего кода сразу? Во-первых, никто никогда не говорил, что юнит-тесты должны покрывать весь код. Во-вторых, время это ОЧЕНЬ БЫСТРО ОКУПАЕТСЯ, поверьте. иначе юнит-тесты не были бы так популярны. Потому что платить за время, потраченное на бесцельные блуждания в поисках бага -- дороже. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2009, 10:04 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
AlexTheRaventrdm<...>лучше потратить некоторое время на юнит-тесты, чем некоторое количество денег на проктолога, когда заказчик поймет, что глюк в авторском ПО ввел его в некоторый немалый убыток.... То, что программа проходит unit-тесты, в самом лучшем случае говорит только о том, что она работает так, как программист считает правильным. Вообще то заказчик должен определять поведение программы, а программист на основании этого должен строить свою тесты. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2009, 12:23 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
AlexTheRavengp<...> Про долгое-долгое покрытие функций юнит-тестами <...> Нисколько не умаляя необходимости в unit-тестах, хочется ехидно поинтересоваться: а кто оплатил Ваше время, потраченное на покрытие юнит-тестами всего кода сразу? Действительно ли качество и косность кода дошли до такой критической точки, что дальше - никак? И что, по Вашей оценке, было дешевле - ввести юнит-тесты для существующего, или переписать по-новой - уже с юнит-тестами? Вообще-то никто не говорил о покрытии 95% кода тестами, В данном случае я покрыл может быть 1 процент кода, который, во-первых, легко поддавался этому, во-вторых - это было напрямую мне необходимо, тоесть альтернативой было "традиционное" тестирование, под которым я подразумеваю кучу действий, которые нужно производить вручную, при этом каждый раз, когда меняете что-либо. То, что во время оптимизации этих трех десятков строчек я пожал плоды ранее правильно приложенных усилий, это так - дополнительный бонус, я считаю. Косность кода всегда находится приблизительно на одной и той же точке, потому как человеку свойственно ошибаться. Вопрос в том, во что вы вкладываете свое время. Просто без юнит тестов, вы каждый раз выполняете сизифов труд, "проверяя работоспособность", а если вы пишете тесты, то вкладываете свои силы в фиксацию достигнутого, и ошибки написания самих тестов - это готовая докумментация по тому, что нужно исправить, и в каком направлении двигать код. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2009, 16:01 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
? gp у нас через юнит-тесты веб-сервисы тестировались все остальное руками ?1 тестировался ли этот кусок руками тестерами ?2 правлиьно ли я понимаю что тестироваляс алгоритм к-му на вход подавались параметры и на выходе проверялось правильность ответа в соответствии с какими то сценариями откуда брались сами сценарии ? и как определялось что они покрывают большинство типичных случаев ? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2009, 18:37 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
Господа, у Вас такие умные разговоры, сценарии какие-то, кто решает что сценарий покрывает такое-то число процентов случаев... Я вот только одного понять не могу, почему я всего этого не знаю и живу спокойно? И даже как-то программы пишу и в лучшем случае даю их другому сотруднику потестить, а чаще просто тесчу сам и без всяких там сценариев и т.п. Наверное, это от того, что проекты у меня маленькие один-два, максимум 3 программиста? Или это мы просто ламеры все? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2009, 20:48 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
MikeKSЯ вот только одного понять не могу, почему я всего этого не знаю и живу спокойно? Ну значит Коллега - Ваш Бог круче... В Нормальном ПО мире без QA Вас к производству софта на пушечный выстрел не подпустят. Правильным считается Контроль и Тестирование всего: : 1. разработки (представьте что Вы разрабатывали чёй-то и пропустили целую функциональность) 2. Документации (как будет Выглядеть ваша документация написанная с орфографическими ошибками или "техническим" языком) 3. Проектирования (ну тут скажем так - "забыли" что адрес должен иметь номер дома) 4. Кодирования (Ваши сообщения об ошибках ... извините .. ругаются матом - это я себе всегда так пишу когда кодирую впопыхах) 5. Внедрения (всё сделали а забыли что OS у клиента не поддерживает MSXML 6.0 (к примеру) 6. эксплуатации (установили всё у клиента а база данных через неделю залила весь диск, всю CPU, всю память и так далее... 7. Поддержки (Ваши друзья и понятия не имеют что за версия находится и установлена у клиента) Существует - и считается всё более перспективным так называемый Test Driven Development. там сначала пишутся все ТЕСТЫ и ПО принимается ТОЛЬКО если ВСЕ изначальные тесты дали положительный результат. Кстати настоятельно рекомендую эту методику всем кто изучает удалённый кодинг. напишите Вашим кодировщикам тесты на всё - и никакого кода проверять не надо... Или работает или нет... Другого не дано. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2009, 21:49 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
MikeKS... Мы вот тоже все по-старинке, паттернам всяким не обучены... Но тем не менее: - IMHO, тестировщиков на проекте должно быть не меньше, чем программистов - то, что не прошло unit-тестов, к тестировщикам даже не попадает - начальник QA - о, это крутой парень. Именно он определяет, что программа, наконец-то, готова - и правильно. Ему ж ее еще и внедрять. Ну, участвовать во внедрении... А сценарии они сами (отдел QA) придумают, какие надо. И автоматизируют то, что нужно. Поскольку тоже несут ответственность за проект. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2009, 22:31 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
Про TDD я слышал. Но я работаю видимо в какой-то диназаврской конторе (тем не менее я очень сомневаюсь, что это уникальная ситуация). Я сейчас расскажу как у нас это дело происходит, а Вы мне пожалуйста расскажите как это происходит в большинстве "нормальных" контор, так как больше нигде программистом я пока не работал и поэтому чувствую себя не совсем ловко при поиске новой работы. Контора разрабатывает приборы, причем порой аналогов не имеющие (даже у меня есть один патент, а у некоторых их штук 10), то бишь имеется штук 5 конструкторов, штук 5 программистов, штук 5 электонщиков, штук 5 непонятно-чем-занимающихся-личностей (мы их называем идеологами), пара непосредственных начальников. Ни о каких тестировщиках мы слыхом не слыхивали. Обычно идеологи в общих чертах описывают всем остальным что надо делать (хотя в наших демократических стенах в совещаниях может принимать участие каждый и высказывать свои новые идеи), программисты кооперируются с электронщиками и когда у нас в результате нашего спонтанного труда возникает новое чудо техники, мы отдаем его идеологам, они вносят замечания (на этой стадии происходит и простейшее тестирование) и процесс повторяется. Потом процесс повторяется уже с учетом замечаний заказчика. Что касается программистов, обычно на один проект хватает одного программиста. За 3 года я вел только один проект, в котором учавствовало трое. Я не считаю тех случаев, когда в приборе есть несколько разных систем, например, микропроцессор под который пишут на голом C, и компьютер, под которым Windows. Тут программистов несколько, но они кооперируются только в области протоколов взаимодействия. К слову сказать, о таком, чтобы один человек продумывал структуру классов или БД, а другой кодировал, тут тоже никто не слышал. Как это происходит в "нормальных" конторах? Насколько актуально нам что-то менять в процессе разработки ПО? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2009, 11:03 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
MikeKSК слову сказать, о таком, чтобы один человек продумывал структуру классов или БД, а другой кодировал, тут тоже никто не слышал.Т.е. у вас человек делает структуру БД, вечером пишет веб-клиента, а наутро принимается за программирование микроконтроллера??? Обычно во всех отраслях применяют специализацию специалистов - каждый делает работу только по своей специальности. MikeKSПро TDD я слышал. Но я работаю видимо в какой-то диназаврской конторе (тем не менее я очень сомневаюсь, что это уникальная ситуация). Я сейчас расскажу как у нас это дело происходит, а Вы мне пожалуйста расскажите как это происходит в большинстве "нормальных" контор, так как больше нигде программистом я пока не работал и поэтому чувствую себя не совсем ловко при поиске новой работы.Чем сложнее и больше проект, тем больше необходимость в специализации и, в частности, в выделенном тестировании. Если одним проектом занимаются 10 человек в течении года, и эти 10 человек будут программистами, делающими всё, то проект может и не закончится :-( ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2009, 11:30 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
alexeyvgMikeKSК слову сказать, о таком, чтобы один человек продумывал структуру классов или БД, а другой кодировал, тут тоже никто не слышал.Т.е. у вас человек делает структуру БД, вечером пишет веб-клиента, а наутро принимается за программирование микроконтроллера??? Ну, не совсем. Один человек пишет под микроконтроллеры, другой - под винду. С другой стороны, я разрабатывал ПО дефектоскопа, у которого внутри был PC104. Мы решили, что будем использовать MS Windows Embedded. Я разбирался в сборке и администрировании MS Embedded, ставил его, настраивал; писал программу этого дефектоскопа тоже я. Что значит писал программу? Значит мне вкратце сказали, какой примерный должен быть интерфейс и какая вообще идея прибора. По ходу работы все это уточнялось или придумывалось по мере надобности. Например, в процессе плотной работы по поиску неисправностей в ПО / электронике стало очевидно, что с таким количеством каналов очень трудно отследить обрывы отдельных датчиков. В результате я придумал, что нужен специальный тест при старте прибора, который бы отслеживал обрывы. Как оценить наличие обрыва никто на тот момент не знал. То есть можно сказать, что я придумал идею, что надо тестировать обрывы, способ тестирования, проверил его и внедрил его в ПО. Что еще? Формат файла хранения результатов, структура БД для программы отображения и сама программа отображения. В общем-то все это делалось одним человеком. Когда готово, отдаю соседу, он тестирует путем работы с прибором. Если все работает и ему удобно, отдаем заказчику. Вот я и спрашиваю, правильный ли подход или нужно его менять? И как вообще дело обстоит у других фирм? alexeyvg Обычно во всех отраслях применяют специализацию специалистов - каждый делает работу только по своей специальности. Согласен, ведь я не работаю в SolidWorks, не стою у станка и не развожу печатные платы. И специальность у меня вполне определенная - ведущий программист. alexeyvg MikeKSПро TDD я слышал. Но я работаю видимо в какой-то диназаврской конторе (тем не менее я очень сомневаюсь, что это уникальная ситуация). Я сейчас расскажу как у нас это дело происходит, а Вы мне пожалуйста расскажите как это происходит в большинстве "нормальных" контор, так как больше нигде программистом я пока не работал и поэтому чувствую себя не совсем ловко при поиске новой работы. Чем сложнее и больше проект, тем больше необходимость в специализации и, в частности, в выделенном тестировании. То есть, если в проектах работают 1-3 человека, специализация, все это тестирование, TDD и прочее, не так уж и нужно? alexeyvg Если одним проектом занимаются 10 человек в течении года, и эти 10 человек будут программистами, делающими всё, то проект может и не закончится :-( У нас таких больших проектов нет. У нас всего по направлению работают 25 человек. Программистов из них 6 человек. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2009, 15:17 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
MikeKSС другой стороны, я разрабатывал ПО дефектоскопа, у которого внутри был PC104. Мы решили, что будем использовать MS Windows Embedded. Я разбирался в сборке и администрировании MS Embedded, ставил его, настраивал; писал программу этого дефектоскопа тоже я. Что значит писал программу? Значит мне вкратце сказали, какой примерный должен быть интерфейс и какая вообще идея прибора. По ходу работы все это уточнялось или придумывалось по мере надобности. Например, в процессе плотной работы по поиску неисправностей в ПО / электронике стало очевидно, что с таким количеством каналов очень трудно отследить обрывы отдельных датчиков.При разработке коллективом с узкой специализацией они будут разрабатывать 5 дефектоскопов в месяц на человека, а у вас только один. Причём их дефектоскопы будут лучьше, потому что тот, кто работает 10 лет с MS Windows Embedded, знает о нём всё, и не будет тратить месяцы на изучение. Однако если вы занимаетесь очень разными задачами, и делаете разовые уникальные изделия под конкретного заказчика, то универсальность полезна. Может быть, в случае с вашей фирмой это оптимально. MikeKSСогласен, ведь я не работаю в SolidWorks, не стою у станка и не развожу печатные платы. И специальность у меня вполне определенная - ведущий программист.Ну, можно разделить всех людей в мире на три специальности - рабочий, служащий, чиновник. А можно на 500. Я, например, не называю всех работающих в IT-отрасли "программистами". Уж 2/3 работающих там точно ничего никогда не программировали. MikeKSТо есть, если в проектах работают 1-3 человека, специализация, все это тестирование, TDD и прочее, не так уж и нужно? Если работает 1 человек, то специализация точно не нужна :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2009, 16:28 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
MikeKSПрограммистов из них 6 человек. Как было правильно здесь подмечено всё - чего Вам не хватает - это команды из 6 толковых QA инженеров. Они поставят все ваши процессы с головы на ноги. Задокументируют их и начнут толкать Вашу компанию к светлому будующему. Назовите эту команду Отделом Технического Контроля. Совсем не важно что именно за продукт ваша компания выпускает. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2009, 16:54 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
В Первую очередь этот самый ОТК освободит Ваших коллег от "предвзятого" взгляда на вещи. Во вторых создаст knowledge base - систему поиска и устранения неисправностей. Ведь сейчас (чего греха таить) у Вас этой системы нет, так? И главное - их функции будут совершенно "независимыми" от взгляда Вашего соседа - собрата по перу. Отдайте управление этим отделом вашим "идеологам" - пусть спрашивают с них... Вы представляете скока времени высвободится? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2009, 17:05 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
Mr MarmeladВ Первую очередь этот самый ОТК освободит Ваших коллег от "предвзятого" взгляда на вещи. Во вторых создаст knowledge base - систему поиска и устранения неисправностей. Ведь сейчас (чего греха таить) у Вас этой системы нет, так? И главное - их функции будут совершенно "независимыми" от взгляда Вашего соседа - собрата по перу. Отдайте управление этим отделом вашим "идеологам" - пусть спрашивают с них... Вы представляете скока времени высвободится? Я представляю сколько нужно денег, чтобы нанять еще 6 человек. А экономическая выгода от этого предприятия не очень очевидна даже мне, что уж там говорить о руководстве. Нет, я Вас полностью поддерживаю, просто я не очень понимаю, чем конкретно будую заниматься эти люди. Руководство вполне может пойти на вариант, чтобы вверить в обязаности одному из инженеров или программистов дополнительные функции. Он будет контролировать какой-то один проект и посмотрим, какая от этого будет польза (или вред). Вопрос - какие будут его функции и какие знания требуются от кандидата? САМОЕ ГЛАВНОЕ. В чем заключается работата тестировщика? Какие знания для этого нужны? Запустить программу, потыкать мышкой и посмотреть падает или нет - это я понимаю. Написать программу, которая будет за место человека мышкой тыкать по программе (1000 раз нажать открыть/закрыть файл, например) это я тоже могу себе представить. Также я слышал, что для тестирования в исходный код внедряются какие-то дополнительные функции (bool test() ?), которые потом каким-то образом вызываются тестировщиком и по анализу их работы делается вывод о работоспособности приложения. Эту идею я правильно уловил? А что это за функции и что они делают? Давайте, на примере. Я пишу программу типа "Блокнот". Какие тесты я должен создать? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2009, 11:40 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
MikeKSА экономическая выгода от этого предприятия не очень очевидна даже мне, что уж там говорить о руководстве. Это последствия нашего плохого образования. На самом деле такие вещи влияют на экономическую выгоду опосредовано. Оценить экономический эффект от них можно только в долгосрочной перспективе и то через ряд косвенных признаков. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2009, 13:57 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
MikeKS Вопрос - какие будут его функции и какие знания требуются от кандидата? Ну что ж Коллега, давайте я попытаюсь Вам немного помочь в процессе осознания а что же такое ОТК. Ну для самого самого начала - поставим эту зависимость ВНЕ категории. QA0. Любой ОТК = представитель ЗАКАЗЧИКА. Никогда и никому кроме заказчика подчинятся не должен. Знает стандарты заказчика и его технические требования, проводит очень много времени до начала, во время и после проведения работ у заказчика с целью выявления всех аспектов разработки, производства и внедрения Вашего продукта (системы) С Этим я думаю понятно. Теперь далее. Какие навыки (знания) должны быть у инженеров ОТК - QA? 1. Теория Предмета. Если Вы создаёте танки - Ваш ОТК должен знать всех производителей танков на земле. Нет - Ваш бизнес - дефектоскопы - вот в теории поиска дефектов Ваш Главный QА должен быть спец++. 2. Метрология. Все поиски неисправностей так или иначе - это метрология - просто статистический подбор результатов эксплуатации {разработки, тестирования, проектирования и тд} 3. Теории постановки ПО. Все аппаратно - программные комплексы построены на более менее стандартных процессах. В Суммарном варианте - Разработка, Проектирование, Кодирование, Тестирование, Внедрение(установка), Эксплуатация, Замана новым - так называемый Product Life cycle. 4. навыки Пользователя. Самое пожалуй наиважнейшее. После того Как Ваш Главный Тестер посидел у заказчика - понаблюдал за тем что Заказчик делает и KAK - он ставит эти процессы в так называемые Тест Кейсы. Дискретные функции описывающие каждый шаг юзера. Там всё просто - нажал кнопочку - зажглась красная лампочка. Если лампочка не зажглась - брак. Если зажглась зелёная (вместо красной) - что сделать для того чтобы зажглась красная и так далее. Каждая функция вашего аппаратно программного комплекса (дефектоскопа) имеет хотябы два значения - 0 (сработало) или 1(не сработало) Вот эти то выходные значения и надо коллекционировать. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2009, 15:35 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
MikeKS Давайте, на примере. Я пишу программу типа "Блокнот". Какие тесты я должен создать? Ну хорошо, давайте я На Вашем же примере "Блокнот" создам Вам несколько тест кейсов. 1. Берём написанную программу загружаем ее на диск. Выдаётся ошибка Диск Д:\ не найден (оопс) 2. меняем параметры установочной программы и загружаем на диск С:\ 3. Запускаем установочный модуль 4. установка прошла успешно просит перегрузить - не перегружаем. Машина зависает и блу скринит 5. Перегрузили всю операционную систему исправили установочный дефолт (д:\) и мемори лик 6. Загрузили и установили программу Блокнот успешно 7. Запускаем программу Блокнот Не запрашивает регистрацию и сразу преступает к Выполнению (оопс) - это не код Мелкомягкого - где искать производителя - ага - в графе About есть сноска на www.mybloknot.com... Ну вроде хорошо А где руководсво по експлуатации.... Его нет... Откуда я знаю как этой грёбаной программой пользоваться.... 8. Ну из опыта работы с Notepad нажимаю File -> New - появляется новое белое что то на экране. Жму на клавишу S мыссленно готовый увидеть именно S а вижу на экране С хммм где то есть переключатель регистров... Никакого указателя на переключатель нет.... Брак - возварщаю продукт производителю... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2009, 15:52 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
MikeKS, Кстати до меня сейчас только дошло - дефектоскопия и есть разновидность ОТК. У Вас там Коллега - как нигде народ должен понимать КАК ВАЖНО НАЛИЧИЕ СЛУЖБЫ КОНТРОЛЯ ЗА ДЕФЕКТАМИ.... Но, похоже к Вам Сапожник без сапог - наиболее подходящее словосочетание... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2009, 22:23 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
Предвижу ещё один {кажущийся} глюк Mr Marmelad -4Совсем не важно что именно за продукт ваша компания выпускает. and Mr Marmelad -3Теория Предмета. Если Вы создаёте танки - Ваш ОТК должен знать всех производителей танков на земле. Нет - Ваш бизнес - дефектоскопы - вот в теории поиска дефектов Ваш Главный QА должен быть спец++. На самом деле этот самый спец++ = просто очень хороший "инженер-качества" с большим опытом работы. Ему обычно всё равно что там за предмет ПРОДУКТ. Но способность его определить и установить планки "качества" абсолютно неоценимы. Опять же - это СЕРВИС - мы {технари} не знаем где эти планки - а он(а) - знает, Хотя бы тем "чтоб костюмчик сидел". Ведь так - моя любимая жена... Она Вам написать на эту тему сможет гораздо больше чем я - попросите ее... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2009, 22:47 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
Mr MarmeladMikeKS Давайте, на примере. Я пишу программу типа "Блокнот". Какие тесты я должен создать? Ну хорошо, давайте я На Вашем же примере "Блокнот" создам Вам несколько тест кейсов. 1. Берём написанную программу загружаем ее на диск. Выдаётся ошибка Диск Д:\ не найден (оопс) 2. меняем параметры установочной программы и загружаем на диск С:\ 3. Запускаем установочный модуль 4. установка прошла успешно просит перегрузить - не перегружаем. Машина зависает и блу скринит 5. Перегрузили всю операционную систему исправили установочный дефолт (д:\) и мемори лик 6. Загрузили и установили программу Блокнот успешно 7. Запускаем программу Блокнот Не запрашивает регистрацию и сразу преступает к Выполнению (оопс) - это не код Мелкомягкого - где искать производителя - ага - в графе About есть сноска на www.mybloknot.com... Ну вроде хорошо А где руководсво по експлуатации.... Его нет... Откуда я знаю как этой грёбаной программой пользоваться.... 8. Ну из опыта работы с Notepad нажимаю File -> New - появляется новое белое что то на экране. Жму на клавишу S мыссленно готовый увидеть именно S а вижу на экране С хммм где то есть переключатель регистров... Никакого указателя на переключатель нет.... Брак - возварщаю продукт производителю... Это все руками делается, а как тут применить TDD? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2009, 18:25 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
В романе Герберта Уэлса мозг инопланетян был чрезвычайно развит, в то время как все остальные системы и органы (половая, питания и т.п.) в процессе эволюции деградировали. Что-то похожее наблюдается и в нашей организации. Директор нашего отдела является очень уважаемым и авторититетным человеком. В отделе сосредоточены не только умные, но, главное, по большей части идейные люди, которые в действительности хотят добиться успеха общего процесса. И этот успех стал для нас реальностью. Однако, с другой стороны, это стало причиной своеобразной самоизоляции. Сейчас я вспоминаю, что у нас есть и ОТК и метрологический отдел и отдел рекламы и внешних связей. Но эти службы не подчиняются напрямую директору нашего отдела, поэтому неудивительно, что ему проще объяснить что надо сделать своим подчиненным, он может контролировать и своевременно корректировать их работу, срочно получать необходимый результат. Сейчас разрыв в знаниях и понимании сути вопросов между сотрудниками отдела, которые стали во многом универсальны и сотрудниками соотвествующих служб достиг огромных размеров. Что проще: подойти к человеку в той же комнате и попросить его накидать примерное содержание рекламного буклета для будущей выставки, при учете, что человек хорошо разбирается в тематике, известны сроки выполнения (так уже делали), процесс можно наблюдать и корректировать, не выходя из комнаты. Примерный буклет будет готов через пару часов. Или же пойти в другую часть здания, отловить там какого-то угрюмого перца, втолковать ему, что нужно через 2 часа сделать буклет (при этом рискую быть посланным далеко и надолго, так как "много другой работы"), прождать 2 часа и получить в итоге совершенно не то, что хотелось. Объяснить начальнику другого отдела, что тебе нужно, при учете, что он не бельмеса не смыслит в тематике вопроса очень сложно. А добиться получения желаемого вообще не реально. В результате наш директор просто убежден, что работаем только мы, а эти нехорошие люди (рекламщики, метродоги, ОТК и т.п.) просто жируют за наш счет. В некотором смысле он прав. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2009, 11:56 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
MikeKS, (off) Для вступления поясню. Моя прекрасная половина - директор Отдела Качества крупного всемирного предприятия. Русский для нее родной. Может она и расскажет как нибудь лучше меня. Пока с ее слов постараюсь поделиться историей внедрения стандартов качества на ее предприятии. Сама он считает наш форум чистой тратой драгоценноого времени. многих (особенно скрывающихся под серыми никами) относит к клинической стадии ментальных отклонений. Да и мои искренние попытки помочь Коллегам из бывшего СССР относит к бесполезному занятию. Но я продолжаю верить что что-то изменится. Оно и меняется насколько я вижу. со своей колокольни. Итак попробую привести вкратце ее рассказ. Коллега MikeKS, не отчаивайтесь - Ваш случай не самый ужасный. Системы Контроля Качества - это не самоцели. На определённом этапе развития предприятия нашей Индустрии наступает момент осознания необходимости {пере}организации понятий качества. Количественный предел должен перерасти в качество - так кажется было у кого то из основоположников.... Для успешного процесса перехода в первую очередь БИЗНЕС должен решить для себя необходимость такого перехода. Должен быть определён "ХОЗЯИН" business owner который бы смог этот процесс поддержать. Обычно это и есть ХОЗЯИН - где то он услышал (или кто то ему подсказал) что имей он QA - его продукция смогла бы конкурировать на мировом рынке, а предприятие - стать ценным продуктом. Пример я привожу реальный. Итак к хозяину предприятия по производству ПО для холодильников приходит "консультант" и говорит. Я хочу помочь Вашему предприятию выйти на мировой рынок. Готов стать Вашим замом до момента и разделить ответсвенность. Вот мой план. Первым пунктом в плане стоял Отдел качества и Стандартизации - {я не буду Вам сейчас приводить терминологию - надеюсь объяснить всё как можно проще. } Мы должны получить аккредитацию ISO 9000 . Таков стоял вердикт. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2009, 15:26 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
Как Вы понимаете эти стандарты не американские. В Америке они появились в начале 90. Это я о коммерческом внедрении. Все предприятия выпускающие продукцию на мировой рынок или в процессе или уже сертифицированы одним из цертификатов ISO. Это не просто листок знаний - это ВСЕОБЩЕЕ ОСОЗНАНИЕ И СЛЕДОВАНИЕ процессам. Процессам поддержания качества выпускаемой продукции. Если мне не изменяет память Великий Райкин имел замечательную http://www.youtube.com/watch?v=3gjYo7eYcOQ&feature=related ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2009, 15:59 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
Итак Началась работа по сертификации предприятия. Она затронула абсолютно все сферы деятельности. И маркетинг и разработку и цеха и главное - УПРАВЛЕНИЕ. Появились и стали вполне неформально проходить митинги КАЧЕСТВА. На них от лица ХОЗЯИНА наш новый ЗАМ раздолбал всех которых Вы Коллега MikeKS упомянули как БАЛЛАСТ. Была создана структура во главе с моей несравненной половиной. Она была просто программистом с отличным опытом и знаниями (институт Математики). Задачи: :1. Документация (соответствие ISO) 2. Создание и утверждение СТАНДАРТОВ ПРЕДПРИЯТИЯ 3. Контроль Разработок 4. Контроль Проектирования 5. Контроль Результатов кодирования (Unit Testing) - она сама устанавливала все тесты с программерами 6. Полное тестирование продукта 7. матричное хранение и анализ результатов - представление на Релиз После-выпускное тестирование - сбор результатов у всех потребителей - Обратная связь. За первый год ведения такого процесса под эгидой стандартов команда вышла на 1 место в индустрии - это был 1999 год. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2009, 16:21 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
Вы спросите - а причём здесь ISO? Дело в том что индустрия в которой работает моя прекрасная половина связана с фармацевтикой. Их стандарты прежде всего связаны с человеческой жизнью. Отказ одного прибора у одного клиента может стоить кому нибудь (а порой и многим) жизни. Так что планки - как Вы понимаете там завышены. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2009, 16:24 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
Каждый релиз - а он у них раз в два месяца - у них проверка. Кстати до недавнего времени была структура по размерам с Вашу контору. 25-30 чел всего до десятка программеров + электронщики + Маркетинг + управление. Новая структура - стала сначала частью (из бывших инженеров по одному) существующей а потом абсолютно новой структурой. У них появились переводчики (контролёры) на все языки. Особенно это касается софта. Проверка всех экранов и всех указателей. Если допустить даже малую смысловую оплошность на экране или в документации - может стОить кому нить жизни. Любой баг - целый семинар разбирает под микроскопом. Продукт не выпускается без подписей всех главных лиц. Последняя подпись у Начальника Отдела Качества. Она несёт личную ответственность за продукт. Надеюсь Вы понимаете что это значит. Все проверки начинаются с нее. Заказчики - Фармацевтические компании кроме ISO имеют свои стандарты. Их требования выставляются в ТЗ. К Сожалению TDD - и для них ещё далеко не простой процесс, но Ручное тестирование и частично автоматизированное насколько это можно - уже внедрено полностью. Весь процесс поставлен в VSTS .NET 3.5 среде контролируется TFS - отличный централизованый тул для контроля качества. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2009, 16:40 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
Mr Marmelad. Сегодня наш отдел решил получать ISO 9000. По крайней мере сегодня я про это узнал. Совещание в основном сводилось к вопросу - как нам получить эту бумажку. Менеджмент у нас - дерьмо!!! Отделы предприятия не взаимодействуют. Кто-то работает за всех, кто-то просиживает стул, и большинство делают не свою работу. Нет эффективного управления. Жопа! ;( ((((Зато какой креатив, разгул творчества и международные инновации!)))) Я уяснил управленческие аспекты, спасибо за ответы. Мне как программисту хотелось бы все-таки теперь понять: могу ли я устроиться на работу тестером? Или что для этого нужно? И второе. Никак не уясню себе принцип TDD. Что за тесты, кто их пишет, программист или тестер? И что, в конце концов, они из себя представляют??? Тесты - это в смысле код, а не алгоритм тыкания мышкой. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2009, 17:05 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
MikeKSЭто все руками делается, а как тут применить TDD? Коллега, простите пропустил Ваш пост - TDD история особенная. Нормальной конторе - на мой взгляд - занимающейся чем то внутри себя - совсем излишне. Только если уж совсем никудышние новички - тогда ОК. Ведь на самом деле внутри себя Вы то сами разберётесь кто чего стОит и какой кусок задач кому по силам - правильно? Ну или Вам PM поможет. Так что TDD слабо - и редко применим внутри сложившейся команды. А вот на несложившуюся - или удалённую - самое ото то . Начинается TDD с написания кода - буду очень условным: Код: plaintext 1. 2. 3. 4. 5.
Вот и всё. Понятно? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2009, 17:14 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
MikeKSСегодня наш отдел решил получать ISO 9000. По крайней мере сегодня я про это узнал. Совещание в основном сводилось к вопросу - как нам получить эту бумажку. ************************************** Мне как программисту хотелось бы все-таки теперь понять: могу ли я устроиться на работу тестером? Или что для этого нужно? И второе. Никак не уясню себе принцип TDD. Что за тесты, кто их пишет, программист или тестер? И что, в конце концов, они из себя представляют??? Тесты - это в смысле код, а не алгоритм тыкания мышкой. Коллега, Я Вас поздравляю. :) Ко всему ещё и сертификат лучшего сапожника... Это я про ISO 9000 в вашей конторе. Круто. Тестер... Как стать Тестером. Тем более начальником QA Отдела Качества. Тестирование Программного Обеспечения - и автоматизированное и ручное - прежде всего анализ. Существует несколько видов Тестирования. Первое вам всем известно - Unit Testing - программа должна выдавать ожидаемый результат. Кроме того - существует Smoke Testing, Functional testing, Regression Testing - процессы связанные с общей задачей продукта (суистемы), функциональными критериями и связями внутри и вне системы. Всё проверяется и перепроверяется много много раз. Результаты сводятся в матрицы и анализируются методами метрологической интерполяции.. Всё это проводится на всём пути разработки ПО Тест - это тест: дискретный случай использования проверяемого продукта (программы) на предмет выявления неисправности. Неисправностей может быть много. Примером будет программа калькулятор. Раз уж Блокнот для меня не стал интересен ввиду отсутсвия калькулирующей функции. Итак я ввожу "2" "+" "2" и нажимаю клавишу равно "=" ожидаю увидеть цифру "4". тесты: варианты : 1. Нажал "2" "+" "2" и не нажал "=" увидел 4 - это правильно? 2. Нажал "2" "+" "2" и нажал "=" ничего не увидел. (а результат 4 где то сидит) Правильно ? 3. Нажал "2" "+" а второй двойки нет и нет результата 4. Нажал "2" "+" "2" и нажал "=" получил 3.99999999999999 - Правильно? ..... И так далее и тому подобное. Зная такие варианты ответов - Вы наверное думаете что я чего то не того - нет Коллега - я пытаюсь представить варианты различных (конечно устаревших) низкоуровневых ошибок. Но и они дадут мне материал для анализа. Главная задача тестеровщика как и сапёра - предотвратить ошибки а не найти их. А значит - ещё раз посмотрите мой пост о системе знаний тестера. Он и программист и Электронщик и учёный и метролог и картёжник если хотите.... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2009, 18:12 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
MikeKS И что, в конце концов, они из себя представляют??? Тесты - это в смысле код, а не алгоритм тыкания мышкой. Кстати Коллега - почитайте требования к инженерам QA в организации достаточно известной в мире NASA.GOV : ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2009, 19:46 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
MikeKS Мне как программисту хотелось бы все-таки теперь понять: могу ли я устроиться на работу тестером? Или что для этого нужно? тестер - ниже квалификация и зарплата :) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2009, 12:10 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
Petro123, смотря где (зарплата). ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2009, 12:23 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
Petro123 тестер - ниже квалификация и зарплата :) Совершенно не согласен, Коллега. Хороший тестер - и квалификацию имеет выше программной а уж зарплата... Поверьте мне. На самом деле их нельзя разводить по углам. Давайте приведу пример. Вот есть продукт "с полки" - ну например Adobe Acrobat, MS Office , Antivirus какой нить да вот тот же Windows 7. Мы все - и не только мы - являемся его потребителями. Некоторые потребители очень продвинутые - посетите например форум MS Access (Office) Сколько Вы насчитаете реальных багов в эксплуатации? Единицы. Неужели Вы всеръёз считаете что можно сразу написать всё и БЕЗ ОШИБОК... Утопия... А почему? потому как лучшие из лучших потребителей (тестеров) всё уже нашли и описАли. Проще заплатить СВОИМ чем получать судебные иски от людей которые заплатили за продукт. Таким образом кстати работает и CTP (Community Test Preview). Хоть там и не платится тестерам напрямую - зато дают скидки, возможность более раннего внедрения продукта - следовательно опережения на рынке... Так что тестеры - ЭТО очень продвинутая элита программистов. Которые в состоянии посмотреть на продукт "со стороны". И Именно ей - этой ЭЛИТЕ - даны права решать - казнить или помиловать ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2009, 15:19 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
Mr Marmelad Так что тестеры - ЭТО очень продвинутая элита программистов. :) зачем голословно? Возьмите среднюю зарплату "у Вас" и у нас. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2009, 15:51 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
Petro123, То что зарплата усреднена - тоже отдельный вопрос. Где то мне попалась статистика что Россейский программист соответсвующей квалификации в чистом виде получает процентов на 15-30% больше американского ввиду бардака в налогах (оплачены работодателем в России и выплачены (удержаны) работодателем в США), выплаты потребительской карзины (квартиры в собственности в России и пожизненые выплаты "ипотеки" в США) и так далее. Конечно в сравнимых местах - нипа NY - Москва. Бостон - Питер. Флорида - Самара и так далее. Но это не тема разговора. Зарплата инженера тестера по уровню должна быть такая же {и выше} как и программиста которого он проверяет. Другое дело в России пока нет института тестирования и соответственно нет квалифицированных спецов. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2009, 16:07 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
Mr Marmelad Другое дело в России .... вот вот :) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2009, 16:44 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
MikeKS И еще мне тут наговорили страшных слов из 3 букв: DDD, TDD, UML. Спасибо. про uml есть курс на intuit.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2009, 15:27 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
borinпро uml есть курс на intuit.ru Посмотрел для начала на домен.. Приятно удивился - подумал сам себе - да неужели INTUIT начал бизнес с Россией... Подключился и нет... не начал. Но идея интернет университета очень интересна. Надо поизучать поплотнее... Немного поясню что сама компания INTUIT - мощнейший поставщик коробочного и он-лайнового бухгалтерского (и другого включая налоговые детали) софта для частных лиц и малого бизнеса . Весьма уважаемая организация в Америке ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2009, 17:17 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
>Зарплата инженера тестера по уровню должна быть такая же {и выше} как и программиста которого он проверяет. >Другое дело в России пока нет института тестирования и соответственно нет квалифицированных спецов. Бред. Писание тестов на работоспостобность - самая простая работа, ей занимаются подмастерья-мальчики 16 лет. Платят им вполне по заслугам. Тестировщики, выполняющие ручное тестирование - просто красноглазые, ленивые, необразованные геймеры. Им ввобще платить - не знаю за что. Они и так на монитор фапать согласны. Нормальный профессионал пишет тесты всегда. Однако не столько для того, чтобы умиляться правилностью работы кода, а для того, чтобы синтезировать дизайн той или иной части системы. UML позволяет набросать дизайн и оценить его состоятельность ещё до того, как будет написана хоть строчка кода, но круг задач, решаемых с помощью диаграмм, сильно ограничен. Средствами UML невозможно выразить средства языка и используемые технологии, UML не поддерживает аспекты и уж тем более метаатрибуты, с помощью UML невозможно описать систему, ряд слоёв которой генерируется утилитами. В то же самое время, UML - самое развитое средство разработки ОО-дизайна. TDD позволяет получить дизайн системы прямо "на месте", она лишена недостатков, перечисленных выше, она позволяет использовать все возможности языка и технологии. Разработчик просто обязан писать тесты "вначале". ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2009, 13:26 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
disputeБред. Писание тестов на работоспостобность - самая простая работа, ей занимаются подмастерья-мальчики 16 лет. Ну вот ... По следам "неукротимых" девелоперов. :) По доброму, Коллега - по доброму... Вы канешна же не правы - разработка и тестирование - совершенно разные вещи. У Людей и в том и в другом "отделе ИТ бизнеса" если следовать вашей терминологии должно уже давно не быть работы. Всё может быть {по Вашему} автоматизировано и списано с горизонтов. Аннет. В Любой уважающей себя компании QA или Отдел Контроля Качества - самая уважаемая группа людей. Вот давайте я Вам прведу пример - Вы в какой среде работаете? Назовите продукт в Котором Вы себя считаете спецом? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2009, 20:24 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
Mr MarmeladВы канешна же не правы - разработка и тестирование - совершенно разные вещи.Дабы не вводить в заблуждение туманностью вышесделанных высказываний, навеянных разноплановостью обсуждаемой в топике тематики, раскрою свою мысль на примере. У нас: отдел планирования разрабатывает дизайн новой системы и определяет технологии, используемые в ней, отдавая всё это на разработку в виде спецификаций. Дизайн логический системы предоставляется, как правило, в достаточно общем виде, на уровне взаимодействия пакетов и ключевых абстракций в них. Конкретный вид дизайн системы приобретает в процессе именно разработки, а не планирования. Делается всё это с помощью разработки через тестирование. Прежде, чем ввести в систему новую функциональность, определяется набор правил, задающих смысловую нагрузку вносимых изменений, а также необходимые для этого модификации дизайна системы (в нулевом приближении). По этим правилам пишутся автоматические тесты, вооружившись которыми, можно начинать "причёсывать" систему и прикручивать новую фичу в положенное ей место. Продолжая процесс итеративно, получаем максимально гибкий дизайн, оставаясь в рамках спецификаций и области действия решения, сдаём релизы вовремя. Вот это - TDD. Далее, там, где вносимая функциональность не влияет на дизайн, также пишутся автоматические тесты, диктуемые вариантами использования. Это - рутина, и сплавляется она самым молодым и бесполезным участникам проекта, поскольку, как правило, ничего более полезного они делать не умеют. Затем систему отдаём на ручное тестирование. Там сидят красноглазые подростки, думающие, что если они работают в IT-компании, то от этого они становятся мене бездарными. Их задача - колупать приложение до тех пор, пока что-нибудь не упадёт (всего-то!). При падении команде разработчиков приходит отчёт и порядок воспроизведения ошибки. Автор сбойного кода (впрочем, бывает, что и тот, кто просто оказался рядом) анализирует падение, запрягает юнгу писать тест, повторяющий имеющийся сценарий, исправляет ошибку и инициирует новую сборку. Всё. Теперь скажите, почему же, на Ваш взгляд, тестировщики - это элита, которой д о лжно платить столь сказочные зарплаты? Mr MarmeladВот давайте я Вам прведу пример - Вы в какой среде работаете? Назовите продукт в Котором Вы себя считаете спецом?Извольте, интересно :) Например, я вольготно чувствую себя в процессе разработки приложений на платформе Microsoft .net (применяю почти все связанные с ней технологии). ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2009, 09:27 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
dispute>Зарплата инженера тестера по уровню должна быть такая же {и выше} как и программиста которого он проверяет. >Другое дело в России пока нет института тестирования и соответственно нет квалифицированных спецов. Бред. Писание тестов на работоспостобность - самая простая работа, ей занимаются подмастерья-мальчики 16 лет. это кодерством занимаются подмастерья. А тестируют люди посерьезней программиста, который настрочил программу. Иначе в чем смысл тестирования, на кнопки давить? Это очень примитивное понятие о тестировании программного обеспечения. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2009, 14:19 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
dispute Затем систему отдаём на ручное тестирование. Там сидят красноглазые подростки, думающие, что если они работают в IT-компании, то от этого они становятся мене бездарными. Их задача - колупать приложение до тех пор, пока что-нибудь не упадёт (всего-то!). Ужас! Еще осталось компанию назвать, где таким образом продукты лабают. Занес с цитатник. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2009, 14:23 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
dispute Их задача - колупать приложение до тех пор, пока что-нибудь не упадёт (всего-то!). возьмём фотошоп - много они там наковыряют ошибок, не вникая в бинес-процесс создания худ-го произведения? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2009, 14:58 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
Petro123dispute Их задача - колупать приложение до тех пор, пока что-нибудь не упадёт (всего-то!). возьмём фотошоп - много они там наковыряют ошибок, не вникая в бинес-процесс создания худ-го произведения? +100. Лучше бы потратили деньги на самообразование, чем на бесполезную зарплату "мальчикам-ковыряльщикам" ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2009, 15:02 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
Все мои коллеги, которым я пытаюсь рассказать о тех дивных вещах, что тут описываются лишь пожимают плечами и недоумевают, как можно все это так раздуть. В смысле, сколько сложностей, сколько лишних телодвижений, сколько народу. Мальчики с красными глазами или мужчины с солидными зарплатами - тем не менее все они оказывается зачем-то нужны. А еще предварительное написание тестов, нет, вру, сначала разработка видимо идет в виде UML, потом происходит написание тестов, а вот тогда уже и кодирование. При этом видимо процесс кодирования становится совершенно механическим, так что его даже в некоторой части можно выполнить автоматически. Я ничего не напутал? Я не буду ничего говорить про качество наших программ, но честно признаюсь оно весьма хорошее. Хотя у нас производство ПО не стоит на потоке, мы ведь делаем приборы, а софт лишь приложение к аппарату. Например, сегодня я выдвинул ряд новых идей по модернизации ПО. Когда все ознакомятся, я думаю будет совещание с участием руководителей проектов, где обсудим предлагаемые мной изменения и решим, будем ли мы их реализовывать. Реализовывать буду я. Составлю список изменений, открою среду программирования и внесу необходимые поправки. Где-то может будет 5 строк, а где-то 50-200. Протестирую работу новых кусков на эмуляторе. Включу оборудование, запущу на нем обновленную версию, пройдусь по основным режимам, по тем местам, что изменил. Убеждаюсь, что все работает. Собираю прошивку для серийных приборов и отдаю коллеге. Коллега при случае встретится с ближайшими пользователями в рамках авторского надзора, прошьет им новую версию, расскажет о нововведениях, посмотрит как она будет работать первое время. Недельку потестируем у них. Если нареканий не будет, начинаем официальное распространение новой версии. Никаких UML, TDD да и вообще никаких unit-тестов. Наверное, это плохо. Может даже ужасно. А может для таких проектов, которые как правило разрабатываются в одиночку или максимум втроем, этого ничего и не надо? Или наши проекты через чур малы? Или как тогда объяснить руководству, что нам нужно еще куча народа, если и так все работает? Как объяснить программистам, что нужно тестирование, если можно просто запустить и посмотреть, работает или нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2009, 21:04 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
авторИли как тогда объяснить руководству, что нам нужно еще куча народа, если и так все работает? Как объяснить программистам, что нужно тестирование, если можно просто запустить и посмотреть, работает или нет? Действительно,зачем нужно тестирование, если сразу можно проводить эксперименты на пользователях.Они у нас грамотные, прошивки в двоичных кодах правят.Вам бы военную приемку, они бы быстро научили вас Родину любить. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2009, 00:22 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
SeVa, авторИли как тогда объяснить руководству, что нам нужно еще куча народа, если и так все работает? Если все точно "и так работает" то ничего не надо. Если изменения необходимы - объясните руководству сколько денег или времени оно теряет из за отсутствия модельного тестирования. А руководство объяснит программистам. Автоматизация тестирования в основном нужна для нахождения регрессий - багов которые появляются в уже работающей функциональности. Если у вас такого не бывает, то автоматизация ИМХО ничего не даст. Попробуйте, сами подумать, есть ли в вашей практике баги, которые могли бы быть быстрее обнаружены UT? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2009, 06:49 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
Когда вносятся небольшие измения в разработанную систему одним специалистом,который знает ее в доль и поперек,нет особой необходимости в unit test'ax.Но при этом руководство имеет большие риски при уходе этого программиста, с новичком они очень даже не помешают. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2009, 14:01 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
SeVa, Все-таки сказать, что мы отдаем пользователю программу, не проверив ее, было бы неправильно. Я не буду повторяться и рассказывать, как происходит процесс, почитайте выше. А военной приемки нет, тут Вы правы. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2009, 16:51 |
|
Страшные слова
|
|||
---|---|---|---|
#18+
SeVa, Наверное один из минусов текущей организации - это большая значимость каждого участника процесса. Действительно, если человек, который проработал в организации более года (а у нас таких подавляющее большинство), и вдруг пожелает уйти, организация существенно потеряет, особенно если он не пожелает как следует передать все дела. Впрочем, для нас это нонсенс. Кадры в большинстве своем стоят как вкопанные. За последние 4 года никто не увольнялся. Однажды мы взяли какого-то дурня, который прикидывался конструктором, и через месяц его выгнали. Сейчас у нас прошли сокращения (кризис), но уволили только тех людей, которых, будь моя воля, я бы вообще бы в организации не держал бы, так как толку от них 0. Конечно, с одной стороны, уникальность людей, их высокая значимость для организации в целом - это плохо (мало ли что может случиться?). С другой стороны, собственная высокая значимость чувствуется каждым членом коллектива, что, несмоненно, положительно влияет на мотивацию к работе. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2009, 17:11 |
|
|
start [/forum/topic.php?all=1&fid=33&tid=1548543]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
57ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
113ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 225ms |
0 / 0 |