dimrub: (Default)
[personal profile] dimrub
Читаю по наводке [livejournal.com profile] object уже третью книгу подряд. Вот они в порядке прочтения:

1. Agile software development
2. Test driven development by example
3. Refactoring (это та, которую сейчас читаю)

Мне, такому всему из себя "матерому зубру", должно быть немного неловко, но эти книги были для меня настоящим eye opener-ом. В отличие от традиционных книг по программированию, которые либо описывают конкретную технологию, либо говорят о дизайне в идеальном мире (см., скажем, Буч либо гэнг оф фор), эти книги говорят о том, как решать проблемы, с которыми большинство программистов вынуждены сталкиваться на практике в течении 90% своей профессиональной деятельности (время, потраченное на заседания, перекуры и тренинги - не в счет). Например - как быть, когда приходится иметь дело с кодом, написанным годы назад неизвестно кем, а потом поддерживающимся еще кучей народу, мало кто из которых до конца понимал, как работает код, который он изменяет. Как вести себя в условиях постоянно меняющихся требований, в условиях, когда эти новые требования тянут код в направлении, о котором не думали при певоначальном дизайне. И так далее. Очень рекомендую всем, кто еще не (и кто не дошел до всего своим умом).

on 2008-12-28 07:09 pm (UTC)
Posted by [identity profile] trurle.livejournal.com
Например - как быть, когда приходится иметь дело с кодом, написанным годы назад неизвестно кем, а потом поддерживающимся еще кучей народу, мало кто из которых до конца понимал, как работает код, который он изменяет
Рыдать?

on 2008-12-28 07:10 pm (UTC)
Posted by [identity profile] dimrub.livejournal.com
Ну вот раньше я бы так и делал. Теперь есть шансы на альтернативу.

Змеиное масло

on 2008-12-28 07:18 pm (UTC)
Posted by [identity profile] trurle.livejournal.com
Полагаю что чудес не бывает и без рефакторинга, глубина которого зависит от запутанности кода, все равно не обойтись. Вот назвать этот рефакторинг можно по разному.

Re: Змеиное масло

on 2008-12-28 07:20 pm (UTC)
Posted by [identity profile] dimrub.livejournal.com
Чудес - нет, не бывает. Бывает систематезированный подход и всякие мелкие хитрости.

Re: Змеиное масло

Posted by [identity profile] trurle.livejournal.com - on 2008-12-28 07:22 pm (UTC) - Expand

Re: Змеиное масло

Posted by [identity profile] dimrub.livejournal.com - on 2008-12-28 07:27 pm (UTC) - Expand

Duck and cover

Posted by [identity profile] trurle.livejournal.com - on 2008-12-28 07:36 pm (UTC) - Expand

Re: Duck and cover

Posted by [identity profile] dimrub.livejournal.com - on 2008-12-28 07:37 pm (UTC) - Expand

Re: Duck and cover

Posted by [identity profile] trurle.livejournal.com - on 2008-12-28 08:01 pm (UTC) - Expand

(no subject)

Posted by [identity profile] ilya-dogolazky.livejournal.com - on 2008-12-28 09:16 pm (UTC) - Expand

(no subject)

Posted by [identity profile] dimrub.livejournal.com - on 2008-12-28 09:24 pm (UTC) - Expand

(no subject)

Posted by [identity profile] ilya-dogolazky.livejournal.com - on 2008-12-28 09:37 pm (UTC) - Expand

(no subject)

Posted by [identity profile] ilya-dogolazky.livejournal.com - on 2008-12-28 09:46 pm (UTC) - Expand

(no subject)

Posted by [identity profile] dimrub.livejournal.com - on 2008-12-28 09:48 pm (UTC) - Expand

Re: Змеиное масло

Posted by [identity profile] meharher.livejournal.com - on 2008-12-28 08:56 pm (UTC) - Expand

on 2008-12-28 08:54 pm (UTC)
Posted by [identity profile] meharher.livejournal.com
Мне в программистской практике довелось больше заниматься рефакторингом, может поэтому и философия разработки у меня всегда была эволюционной.
Однажды мне пришлось добавлять некий замысловатый фичер в систему, после тщательного изучения системы мне удалось добавить сотню-другую строчек кода и стереть полторы тысячи без потери предыдущей функциональности. Так что рефакторинг изучал на практике. В упомянутой книжке открытий для себя не нашел, но книжка и впрямь славная.


on 2008-12-28 07:24 pm (UTC)
Posted by [identity profile] programishka.livejournal.com
Спасибо за наводку.. Постараюсь тоже прочитать их...

on 2008-12-28 08:21 pm (UTC)
Posted by [identity profile] olkab.livejournal.com
Ага. Agile Programming хорошая штука, если без догматизма. У нас вот к сожалению с. Взяли от системы всё самое внешнее (ежедневные stand-ups и прочие три зелёных свистка) и думаем, что это нас спасёт. А вот хренушки.
TDD хорош именно для рефакторинга. Насколько он хорош для кода, который пишется с нуля - я пока не поняла. Если у тебя будут какие-то соображения, я бы их с удовольствием послушала. Вообще тема интересная.
Хотя, как и во всех таких делах, здравый смысл - условие хоть и недостаточное, но необходимое для хоть сколько-нибудь осмысленного применения любой системы. Вон ООР вроде тоже неплохая штука - а сколько народу на ней погорела.

on 2008-12-28 08:22 pm (UTC)
Posted by [identity profile] dimrub.livejournal.com
TDD хорош именно для рефакторинга. Насколько он хорош для кода, который пишется с нуля - я пока не поняла.

Очень хорош. Причем TDD в чистом виде только для нового кода и применим :).

on 2008-12-28 08:28 pm (UTC)
Posted by [identity profile] olkab.livejournal.com
Ну вот я как раз и не поняла, насколько осмыслен TDD в чистом виде. Каков должен быть уровень TDD-зма? Какова осмысленная пропорция функций кода к количеству тестов? Мы с этим игрались в предыдущей конторе, но именно игрались. В реальных проектах я этого не видела.

on 2008-12-28 08:30 pm (UTC)
Posted by [identity profile] dimrub.livejournal.com
Тогда очень рекомендую 2-ю книжку. Она тонюсенькая совсем, за пару дней можно асилить.

(no subject)

Posted by [identity profile] olkab.livejournal.com - on 2008-12-28 08:35 pm (UTC) - Expand

(no subject)

Posted by [identity profile] dimrub.livejournal.com - on 2008-12-28 08:36 pm (UTC) - Expand

(no subject)

Posted by [identity profile] olkab.livejournal.com - on 2008-12-28 08:45 pm (UTC) - Expand

(no subject)

Posted by [identity profile] dimrub.livejournal.com - on 2008-12-28 08:47 pm (UTC) - Expand

(no subject)

Posted by [identity profile] olkab.livejournal.com - on 2008-12-28 08:51 pm (UTC) - Expand

(no subject)

Posted by [identity profile] avnik.livejournal.com - on 2008-12-29 02:07 am (UTC) - Expand

(no subject)

Posted by [identity profile] alexcohn.livejournal.com - on 2008-12-29 11:10 am (UTC) - Expand

on 2008-12-28 08:29 pm (UTC)
Posted by [identity profile] white-lee.livejournal.com
Насчет agile - существует такая организация, Usability Professionals' Association, и в Израиле у нее есть свое отделение (примерно тысяча членов). Они раз в два-три месяца устраивают большое сборище на темы юзабилити и рядом. Вот 12-го января будет сборище на тему Agile. Как именно это связано с юзабилити, я пока что плохо понимаю, но если интересно - милости просим. Бесплатно :). Только надо учесть, что публика в основном не программистская, со всеми вытекающими.

on 2008-12-28 08:35 pm (UTC)
Posted by [identity profile] dimrub.livejournal.com
К сожалению, возможности выбираться на тусовки ограничены, а то бы может и выбрался.

on 2008-12-29 11:05 am (UTC)
ext_454496: (Default)
Posted by [identity profile] alexcohn.livejournal.com
Спасибо! Есть еще одно израильское сообщество, которое этим занимается. И периодически проводит любопытные лекции: http://agileisrael.org/

on 2009-01-25 11:24 am (UTC)
ext_454496: (Default)
Posted by [identity profile] alexcohn.livejournal.com
Посетил я это собрание, вышел оттуда разочарованным. В качестве курьеза, как можно рассказывать про технологии "сделать всё быстро и по расписанию", медленно пережевывая очевидное с бессмысленным, и затянув лекцию на час против заявленного времени?

Тахлис - не может работать Scrum при разработке GUI, потому что каждый этап растягивается втрое.

on 2009-01-25 07:00 pm (UTC)
Posted by [identity profile] white-lee.livejournal.com
Ну, это действительно можно рассматривать разве что в качестве курьеза. Претензии к лектору в том, что его лекция не соответствует принципам менеджмента, которые она описывает, это довольно натянуто.

А почему каждый этап растягивается втрое?

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

(no subject)

Posted by [identity profile] alexcohn.livejournal.com - on 2009-01-26 09:18 am (UTC) - Expand

Вагиф - это голова!

on 2008-12-28 09:21 pm (UTC)
Posted by (Anonymous)
Только на практике у меня никогда не хватает денег на TDD. А тут еще кризис. А про refactoring надо конечно почитать.

Это был

on 2008-12-28 10:01 pm (UTC)
Posted by [identity profile] igorm.livejournal.com
я, -sorry.

on 2008-12-28 09:59 pm (UTC)
Posted by [identity profile] avva.livejournal.com
Ужас, если честно. Такое впечатление, что тебя зазомбировали немножко :(

on 2008-12-28 10:00 pm (UTC)
Posted by [identity profile] dimrub.livejournal.com
Почему? Ты читал эти книги?

on 2008-12-28 10:13 pm (UTC)
Posted by [identity profile] avva.livejournal.com
Первые две просматривал + еще много всяких материалов по агилю попадалось.

(no subject)

Posted by [identity profile] dimrub.livejournal.com - on 2008-12-28 10:15 pm (UTC) - Expand

(no subject)

Posted by [identity profile] avva.livejournal.com - on 2008-12-28 11:02 pm (UTC) - Expand

(no subject)

Posted by [identity profile] dimrub.livejournal.com - on 2008-12-28 11:43 pm (UTC) - Expand

(no subject)

Posted by [identity profile] cmm.livejournal.com - on 2008-12-29 07:12 am (UTC) - Expand

(no subject)

Posted by [identity profile] avva.livejournal.com - on 2008-12-29 10:23 am (UTC) - Expand

(no subject)

Posted by [identity profile] avnik.livejournal.com - on 2008-12-29 02:10 am (UTC) - Expand

(no subject)

Posted by [identity profile] haiut.livejournal.com - on 2008-12-29 07:57 am (UTC) - Expand

(no subject)

Posted by [identity profile] avva.livejournal.com - on 2008-12-29 10:26 am (UTC) - Expand

(no subject)

Posted by [identity profile] dumalkin.livejournal.com - on 2008-12-29 08:39 am (UTC) - Expand

(no subject)

Posted by [identity profile] dimrub.livejournal.com - on 2008-12-29 09:42 am (UTC) - Expand

(no subject)

Posted by [identity profile] avva.livejournal.com - on 2008-12-29 10:28 am (UTC) - Expand

(no subject)

Posted by [identity profile] avva.livejournal.com - on 2008-12-28 11:06 pm (UTC) - Expand

(no subject)

Posted by [identity profile] dimrub.livejournal.com - on 2008-12-28 11:08 pm (UTC) - Expand

(no subject)

Posted by [identity profile] avva.livejournal.com - on 2008-12-28 11:11 pm (UTC) - Expand

(no subject)

Posted by [identity profile] dimrub.livejournal.com - on 2008-12-28 11:24 pm (UTC) - Expand

(no subject)

Posted by [identity profile] dumalkin.livejournal.com - on 2008-12-29 08:47 am (UTC) - Expand

(no subject)

Posted by [identity profile] avnik.livejournal.com - on 2008-12-29 02:13 am (UTC) - Expand

(no subject)

Posted by [identity profile] avva.livejournal.com - on 2008-12-29 10:29 am (UTC) - Expand

on 2009-01-03 02:36 pm (UTC)
Posted by [identity profile] yul.livejournal.com
Я конечно понимаю, что тема может быть уже не настолько актуальна :)
Но очень интересует твое мнение: стоит ли писать в резюме о том, что среди всего прочего есть опыт с рефакторингом.
Я уверена, конечно, что это важная вещь, и актуальная, в свете взросления отрасли.. Но грызут сомнения, что это выглядит достаточно внушительно при описании своего опыта.

on 2009-01-03 11:09 pm (UTC)
Posted by [identity profile] dimrub.livejournal.com
Думаю, что стоит. Я бы написал, пожалуй. И про опыт с юниттестингом.

on 2009-01-25 05:17 pm (UTC)
Posted by [identity profile] dimrub.livejournal.com
Да, интересно. Как хорошо, что у меня в фирме нет этого самого миддл менеджмент.

on 2009-01-26 08:49 am (UTC)
ext_454496: (Default)
Posted by [identity profile] alexcohn.livejournal.com
По моему опыту, те, кого в дискуссии называют executive, тоже могут вставить достаточно палок в колеса. А middle management мешают не только в Scrum.

Profile

dimrub: (Default)
Adventures of a somewhat curious character

September 2013

S M T W T F S
12 345 67
891011121314
15161718192021
22232425262728
2930     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Dec. 30th, 2025 06:55 pm
Powered by Dreamwidth Studios