wizzard: (Default)
[personal profile] wizzard

стало в общем понятно почему у меня плохо выходит реализовывать (большие) проекты и хорошо – решать конкретные проблемы

1. общая расхлябанность (ну это боян)
2. отсутствие скилла разбивать систему на модули (функционально законченные части) (а это серьезно)
потому что отсутствует понятие "прогресс", оно либо "все сразу получилось", либо "все отвалилось по таймауту", и это убивает мотивацию и желание продолжать.
ну и потому что внешним людям (коллегам, заказчикам етц) прогресс тоже важен

thx 4 [livejournal.com profile] arkanoid

Date: 2009-10-31 09:16 am (UTC)
From: [identity profile] gds.livejournal.com
та же фигня. То есть, конечно, в очевидных случаях модули выделяются, и путём анализа можно примерно определить, что будет данными, что будет кодом, и где лепить границу между ними (границу, разделяющую модули). Но п.2 я решил по-другому, нечестно: просто говнолеплю говнокод в одном модуле, до упора, не думая -- главное чтобы работало. Пишу для себя в основном на окамле, там это работает. Из-за отсутствия модульности возникают ошибки (обычно это смешивание будущих разных слоёв или работа со структурой данных, доступной слишком большому количеству функций), и эти ошибки потихоньку исправляю, закатывая в модули и абстрагируя структуры данных для всего, чего только возможно и работа с чем уже "устоялась" в дальнейшем коде. Алгоритм тупой, но зато нет мучений вида "выносить ли мне это в отдельный модуль, или оставить тут". Правда вот прогресс-индикатор так не добавить, там нужно таки видеть общую картину.

А по уму, надо составить (лееень!) план того, как должна работать программа (т.е. планировать действия) и идти сверху вниз, где пункт плана нижнего уровня будет соответствовать взаимодействию между несколькими модулями. Например, есть есть пункт плана "распарсить строчки файла в структуру данных", то в идеале могут быть два модуля -- один предоставляет структуру данных "список строк", которую можем разрушать кодом, другой предоставляет способы сконструировать нужную структуру данных. (и пусть даже первый модуль потом "инлайнится" в итерацию по строкам файла, в процессе которой будет создаваться нужная структура данных). Хотя чего я учу, у каждого свои методы.

Date: 2009-10-31 06:23 pm (UTC)
From: [identity profile] ivan-ghandhi.livejournal.com
По-моему, фигня всё это. Если возникнет необходимость и появится ответственность - и скилзы появятся, не биг дил. А пока нет - так и не надо. Это не теоремы доказывать.

Говорю как человек с примерно 20-летним опытом руководства всякой такой хренью. Всё фигня. Менеджерьё просто любит себя считать особо умными.
Edited Date: 2009-10-31 06:24 pm (UTC)

Date: 2009-11-01 11:06 am (UTC)
From: [identity profile] kurilka.livejournal.com
а как ты отвечаешь на вопрос "что делать?" по этому поводу?

Date: 2009-11-02 07:15 am (UTC)
From: [identity profile] kurilka.livejournal.com
ну какая-то неконструктивная критика выходит тогда :)

Date: 2009-11-02 10:44 am (UTC)
From: [identity profile] kurilka.livejournal.com
Ну будет интересно поглядеть на ответы, если появятся...

Profile

wizzard: (Default)
wizzard

January 2019

S M T W T F S
  12 345
6789101112
1314 1516171819
202122 23242526
2728293031  

Most Popular Tags

Style Credit

Expand Cut Tags

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