avva: (Default)
[personal profile] avva
Питер Норвиг, автор (помимо множества прочих заслуг) знаменитых книг об AI и Лиспе, автор эссе Teach Yourself Programming in Ten Years, которое следует прочитать каждому программисту, рассказывает, как написать программу, решающую любую задачу Судоку. 100 строк на Питоне.

Рон Джеффриз, один из изобретателей системы XP Programming, один из духовных отцов движения Agile и авторов Agile Manifesto, пытается написать программу для решения Судоку: раз, два, три, четыре, пять. На Руби, с использованием TDD (test-driven development).

Прочитайте эти два описания двух разных попыток - включая все пять записей Джеффриза, не поленитесь, чтобы как следует их оценить - сравните, и вы будете знать все, что вам надо знать, об XP и Agile.

Бонус:

Роберт Мартин ("Uncle Bob Martin"), один из главных создателей Agile, специалист по Agile, XP и UML, автор книг обо всех этих методологиях, пишет код на Clojure, с помощью TDD, вычисляющий результат игры Bowling Game, простого варианта боулинга. Вот его код.

Матиас Джованнини пишет код на OCaml, без TDD, для решения той же проблемы. Вот его код.

Сравните, и вы будете знать все, что следует знать об XP, Agile и TDD.

Все всегда звучит очень заманчиво. Все всегда звучат очень убедительно. Все полемики и манифесты можно просто не читать, а если читать, то ни в коем случае не воспринимать всерьез. Читайте код. Или, если есть время и желание, пробуйте сами. А манифесты и методологические книги - пусть себе скрипит губерния.

Date: 2009-10-06 05:59 pm (UTC)
From: [identity profile] msh.livejournal.com
При всем моем скептицизме по отношению к Agile, TDD, XP т.д. должен заметить, что при разговоре о технологиях/методологиях программирования примеры меньше 6 человеко-месяцев неинтересны.

Date: 2009-10-06 06:38 pm (UTC)
From: [identity profile] xfyre.livejournal.com
мне вообще не очень понятно, зачем сравнивать теплое с мягким

любые методологии (хоть agile, хоть iso, хоть черт в ступе) предназначены для организации производственного процесса и снижения рисков, связанных с человеческим фактором.

профессиональный уровень программиста, в свою очередь, зависит исключительно от самого программиста (и в меньшей степени от его окружения), но уж никак не от методологии, которую его заставляет использовать начальник.

p.s. второй пример вообще некорректен: текст на clojure честно предваряется замечанием "I’m trying to learn Clojure, and I’m finding the effort challenging. Perhaps you can help me."

Date: 2009-10-07 06:09 am (UTC)
From: [identity profile] kmmbvnr.livejournal.com
Да, мне тоже кажется, что TDD/Agile должно проявлятся на проектах которые не вмещаются в голове.

Date: 2009-10-07 02:02 pm (UTC)
From: [identity profile] nponeccop.livejournal.com
Ну, маленькие проекты ВООБЩЕ ВСЁ РАВНО КАК ПИСАТЬ. Т.е. и копипаст не страшен, и 5 копий одной и той же функции, каша из HTML и кода (в случае веба), ненормализованные БД без индексов и т п.

December 2025

S M T W T F S
  123 4 56
78 9 10 11 1213
1415 1617181920
21 22 23 24 2526 27
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Dec. 29th, 2025 01:29 pm
Powered by Dreamwidth Studios