Thursday, October 23, 2008

Dla For Crohns Disease

Project Management: The quality of the code, and sleepless nights

There is a strong principle: Arise cancer, but hand over the project on time. Osoenno tough he is in outsourcing companies. On its implications will be discussed,,, For now nearly 6 am and this is not the first night of sex with a wretched project,,,

So. Any project consists of a set функционала, который он должен выполнять, ресурсов и времени. Имеем грабли номер 1: планируют время и ресурсы одни люди, пишут функционал другие. Первые хотят сделать быстрее и эффективнее с точки зрения затрат/отдачи, вторые надрываться не хотят, но код сдают вовремя.

Грабли номер 2. Во-первых, проектирование does not always take into account all vozmozhdnye problem. Secondly, the project is often more than once written and running, and developing - it appended a new functionality. Due to the integral number 1 all round development and the problems usually solved by simply appending the code. And nothing about codding style usually do respond in the spirit of "everyone has the PRAM on creativity."

example, Project pdnsd (http://www.phys.uu.nl/ ~ rombouts / pdnsd.html). He initially did not differ normal design (version 1.1). And as version 1.2 - it's totally fucked up! All logic is contained in a dozen DNS functions each of which has a size of a few hundred lines, and can exceed tsyachu. It is not clear from the title of which corresponds to each function. Memory can be separated by an object in one place and removed in a dozen others. Smusshedshaya nested loops and recursion. The code is written without any respect for any rules (female unreadable). Svyaznot terrible logic. Example:





launch additional thread of the functions already run thread turned into a non-trivial task. Had to resort to the mechanisms of automatic garbage collection, to make a serious refactoring, etc. Correspondingly, we switched to C + + c with a change сборки,,,,

Очень умеляет, что это OpenSource -- т.е. код, который все имогут почитать и изменить -- вообще нечитаем и ниразу не масштабируем.


Выводы.
1) Если вы экономите время сейчас -- будьте готовы к сильному срыву сроков в будущем.
2) Менеджерам неплохо бы знать, что именно пишется (непосредственно участовать в разраотке _kontrolirovat_ and code quality).
3) Make sure to refactor! And, try as soon as any sighs and sorrow for the work.
4) Customers _mozhno_ explain what they are paying extra money and spend more time. By the way, people are often afraid to outsource the code because of fear of shit, but working, code.


PS This is all very well bear on the theme "Koproekonomiki" (http://2k.livejournal.com/520078.html). One of the reasons my scandals and final retirement from IBM (ponyatik code quality virtually no concept of refactoring in general) - not everyone can withstand the thought that 40 hours a week, he is engaged by shit.

0 comments:

Post a Comment