Ако искате да бъдете добър програмист, трябва да помислите за „изтриване“, отколкото за „писане“.

Открих един факт чрез моя опит с преглед на код. Факт е, че добрият разработчик обикновено изтрива нещо от проекта. От друга страна, почти разработчикът наистина мрази да изтрие нещо. Така че си помислих, че тук има една от големите разлики между добрия разработчик и другия разработчик.

Изтриването е по-трудно от писането.

Обикновено младши разработчик от моя екип всеки път добавя нещо, за да разреши проблем. Добавяне на променливи за съхраняване на някои данни, добавяне на функции за обработка на нещо, добавяне на флагове за контрол на нещо и т.н. Въпреки това старши разработчик не добавя нищо лесно. Понякога той абстрахира някои процеси и намалява дублирането. Изтриване на стари коментари, изтриване на ненужни части и т.н... И накрая, неговият PR прави продукта по-прост и по-ясен от преди, независимо че решава проблем.

Знам, знам, че изтриването е наистина ужасно. В почти случаи, дори ако добавите някои нови неща към вашия продукт, продуктът не причинява фатална грешка. Но ако промените или изтриете нещо, което на пръв поглед е ненужно, това може да причини някакъв дефект. Ако имате опит с някакъв проект за поддръжка, особено който сте предали от друг човек, предполагам, че сте виждали много лабиринтни и сложни или изглеждащи разточителни (но точно работещи :0) продукти. И може да сте пренебрегнали нещо над главата си. Наистина мразехте да видите това, но работихте за него с мърморене. Ако е така, искам да кажа, моля, спрете го и нека го подобрим. Един от простите начини е „изтриване“. Почти този вид продукти са добавени от някого много ненужни неща. Изтриването го прави малък и прост. Това означава, че развитието ни ще се ускори.

Изтриването е по-трудно от писането. Изтриването на нещо е наистина трудно от добавянето. Поради тази причина става голяма разлика между старши и младши разработчик.

Какво мога да изтрия?

Всичко. Не само изходния код, но и всички неща, които са свързани с вашите проекти. Изброих се въз основа на моя опит в уеб разработката.

Неподходящ/Неизползван/Ненужен:

  • Променлива
  • Клас
  • Изявление If, else (Първо връщане)
  • функция
  • Коментирайте
  • Внимание
  • API
  • Git ангажимент
  • Git история (смачкайте я)
  • Клон
  • Файлът, който не е необходим VCS (Използвайте .gitignore)
  • База данни
  • Таблица
  • Колона
  • Записвайте
  • EC2 ресурс
  • S3 кофа
  • MTG

Разбира се, не искам да кажа, че не е нужно да се колебаете да предизвикате грешка въз основа на вашето изтриване. Особено в изходния код можете да добавите тест, преди да изтриете. А за API, ако знаете предшественик, можете да го попитате за целта на тези. В таблица на DB можете да създадете резервно копие преди изтриването. Имате много неща, за да намалите опасността.

Изтриването означава поемане на отговорност

Всеки не иска да бъде критикуван за провал от вашите действия. Не искаме да поемаме ненужна отговорност. Ако игнорирате всички неща, които не са ви възложени, може да не причините провал. Но определено не можете да получите огромна възвръщаемост. Поемането на отговорност е наистина важно нещо, ако искате да работите като експерт. Не можем да продължим напред без да поемем отговорност.

Нашата мечта за модерна среда за разработка има ефективни функции за тестване, стилни CI инструменти, авангардни рамки и интелигентни ботове. Но почти съществуващ продукт няма достатъчно архитектурен такъв вид мечта (въз основа на моя опит). Не се оплаквайте, трябва да го подобрите сами, ако разберете. Не пренебрегвайте текущия хаос. Нека го направим по-добър продукт стъпка по стъпка. И това ви прави „Добър разработчик“.