Десетте гряха на програмистите според мен

Да бе, порастнах и аз и взех да давам акъл. Все пак, според моето скромно мнение, има няколко нещица, които наистина са си лоши. Само да отбележа, че в последно време думата “програмист” почти не се използва и не мога да разбера защо. Сега е пълно с “web developers”, “consultants”, “interaction designers”, “user interface concept analysts” и какви ли не още гръмки титли. Програмисти изглежда вече няма. Малко ми напомня на ситуацията със секретарките. Сега вече няма секретарки, има офис асистенти. И така, десетте неща, които смятам за много лоши, когато програмист вземе та ги свърши:

1. Съобщенията за грешки не се четат или не се разбират – Ситуацията “А, SQL-а ми отказва remote connection, ще го рестартирам” ми къса нервите. В случая, съобщението за грешка беше обяснило, че Named Pipes не може да се използва

2. Инсталиране на продукт без да се прочете ръководството – Това е класика. Повечето продукти на Microsoft изглеждат, че се инсталират много лесно – Next, next, next на wizard-a и готово. Повечето продукти на Microsoft НЕ работят смислено след подобна инсталация.

3. Използването на продукт без да се познава самият продукт – Изказвания в стил “Няма проблем, тука прочетох набързо, изглежда лесно, API-то май го видях някъде”. Резултатът обикновенно е лош (бавен сайт, код пълен с проблеми и различни други драми).

4. Липса на интерес в областта – Ако караш в стил “Едно си баба знае, едно си бае”, как ще предложиш нещо смислено на клиентите си?

5. Ще използвам технологията “X” (където “Х” може да се замени с актуалната за деня технология, хватка или продукт) защото е cool – Използването на нещо само защото е “cool” обикновенно води до не толкова “cool” проблеми по-късно. Винаги се сещам за принципа KISS – Keep It Simple Stupid и не мога да разбера какво лошо има в него.

6. Мисленето в стил “Винаги има някой друг който да ми реши проблема” – А когато в един момент няма кой да те издундурка какво правим?

7. Липсата на познания за Windows – Удивително, но съм виждал младежи и девойки които не могат да се оправят с Windows XP (например няма идея какво е ScanDisk).

8. “Аз ще го напиша по-добре от Microsoft!” – Досега не съм виждал успешен опит. А опити има, не е като да няма.

9. Липса на коментари в кода – Днес го разбираш, но след месец вече няма да имаш идея какво си правил. Затова винаги, ама винаги е добре да си напишеш ей така, за себе си, какво си правил и какво си мислел да направиш.

10. Липсата на отговорност – Познава се по изказвания в стил “Май работи…” или “Ние го направихме така”. Последно? Работи или не? Кои сте тези “Ние”? Криенето зад решенията в стил “team work” никога не ми е харесвало. Ти си имаш задачи, ти си отговорен за тях, ти ще си ги свършиш, ти си човека който е поел отговорността. И ти ще кажеш дали работи нещо или не. Не е екипа около теб. Ти.

11. “Нещо гърми, ще преинсталирам”, “Гърми, ще iisreset” и подобни – Много по-важно е да намериш причината за проблема, а не да преинсталираш в несвяст, с надеждата, че може и да се оправи. Обикновенно не се оправя, а човека е загубил ценно време.

12. “Нека използваме human readable тагове или ID-та” – Особенно когато се използва XML и особенно когато имаме AJAX приложения. Често се оказва, че нещастният потребител чака ли чака защото по жицата трябва да се преточи огромен XML от който 90% са “human readable tags”.

6 Comments

  1. rovas says:

    Чудя се какъв ли случай е прелял чашата на търпението ти, за да го систематизираш така 🙂
    Някой ден ще напиша подобно нещо за работа с 3 party изпълнители, гррр…

  2. Laz says:

    Ами не беше един, а бърза поредица – 1., след това 2. и накрая 11.

  3. Laz says:

    Не твърдя, че съм прав, или че аз съм перфектен. Просто винаги си мисля, че тези неща са очевидни. Оказва се, че не са. Очаквам твоят поглед 🙂

  4. Philip says:

    Sorry for the latin, but you are understanding the situation I’m in.

    Saglasen sam s vsichko bez 5. “use of cool technologies”. Vsichko novo, koeto idva ot MS trqbva da se izpolzva zadaljiteno inache passion-a ugasva 😉

  5. rovas says:

    бих казал, да се пробва – Да
    а дали ще се използва нека тези, които измислят архитектурата на приложението и са запознати с изискванията на клиента да решават

  6. Laz says:

    Да се пробва – да (както каза и rovas), но да се използва – не винаги е добра идея. Пример – в момента работим по сайт в който много сериозно се използва ASP.NET AJAX (Аtlas за по-кратко). Причината е, че това е нещо което работи, сигурно е, имаме знания, има и натрупан опит. А алтернативата беше (както можете да се досетите) Silverlight. Наложи се да наритам доста хора за да ги разубедя (което си беше фън всъщност). Друг пример – в преден проект за работа с XML се използва мега гъзарската възможност на .NET да сериализира обекти както искаш. Детайлът, който беше пренебрегнат беше, че отговора беше генериран от SAP и .NET де-сериализатора се оказа много алеричен към дори и най-малките промени в XML-a. Резултат- купчинка проблеми, които можеше да се избегнат, ако XML-а се обработваше от наш си код.

Comments are closed.