JavaRush /Java блог /Random UA /Кава-брейк #19: 9 інструментів для покращення продуктивно...

Кава-брейк #19: 9 інструментів для покращення продуктивності розробника. Що робити, якщо ви є посереднім кодером?

Стаття з групи Random UA

9 відмінних інструментів для підвищення продуктивності розробника

Джерело: DZone Написання коду – складна та відповідальна робота, для якої потрібне не тільки знання теорії, а й володіння рядом професійних навичок. І звичайно, ця робота забирає купу часу. Якщо програміст неправильно організовує свій робочий процес, це призводить до закономірного зниження продуктивності, зриву дедлайнів та погіршення якості коду. На щастя, є кілька способів подолати цю проблему. Один із них — використання у роботі спеціальних інструментів, що покращують продуктивність. Сподіваюся, що невеликий список, який я підібрав, зробить вашу роботу швидше та ефективніше. Кава-брейк #19: 9 інструментів для покращення продуктивності розробника.  Що робити, якщо ви є посереднім кодером?  - 1ProofHub - простий планувальник завдань. З його допомогою можна розставляти пріоритети, призначати і додавати завдання, перевіряти документи і файли, призначати дату початку і завершення завдання, створювати робочий процес, що настроюється, обмінюватися документами, встановлювати таймер часу в розкладі. ProofHub має мобільний додаток для Android і iOS. Sublime Text — один із найпотужніших текстових редакторів для розробників, який допомагає виконувати практично будь-які операції з текстом. Він корисний для багатьох простих завдань, таких як ведення списків справ, редагування конфігураційних файлів або написання пакетних сценаріїв. Google Keep – корисний сервіс нотаток від Google. Якщо вам потрібні стікери для нагадування про важливі завдання на робочому столі, використовуйте Google Keep. Додайте це розширення в Chrome, і ви зможете на льоту прикріплювати нотатки, додавати мітки, співавторів, перераховувати завдання за допомогою маркерів або додавати нагадування про найважливіші речі. Google Keep можна використовувати також у Google Docs – просто перетягуйте свої нотатки до документів. MusicForProgramming — зручний маленький онлайн-інструмент із довгим списком інструментальної музики, який дозволить вам створити зону комфорту навіть під час написання коду. Це цікавий музичний генератор, де можна вибрати відповідну для роботи музику. Просто надягайте навушники, вибирайте один із 52 доступних плейлистів і слухайте. LeanKit – інструмент, який дає всім членам команди та зацікавленим сторонам проекту загальне розуміння роботи. У ньому використовуються загальні принципи та методології роботи в рамках компанії. Ви можете візуалізувати своє завдання, щоб краще розуміти його та працювати більш ефективно. Завдяки LeanKit члени команди можуть публікувати віртуальні нотатки або повідомлення про помилки, які потрібно переглянути. Silver Searcher входить до найбільш ефективних інструментів для підвищення продуктивності розробників, оскільки він економить час на пошуки елементів коду. У разі відображення результатів пошуку цей інструмент працює набагато швидше, ніж аналогічні програми. HeySpace- інноваційне програмне забезпечення для керування завданнями з функціями чату. Надсилайте повідомлення своїй команді, щоб керувати завданнями, зводити зустрічі до мінімуму та тримати всіх у курсі. Це комбінація Slack та Trello. На HeySpace ви можете легко перетворити частину вашої розмови на завдання. Кожне завдання можна налаштувати: можна встановлювати дати, призначати відповідальних людей, додавати теги, описи, файли та коментувати їх. Можна також ділитися файлуми. Habitica — один із найкращих інструментів підвищення продуктивності, який допомагає сприймати роботу як гру. Habitica переносить вас у старий піксельний світ ігрових платформ. Він розглядає ваше щоденне навантаження як RPG гру, де можна підвищити свій рівень, виконавши певне завдання. За кожну досягнуту мету нараховуються окуляри. Чим їх більше, тим вищі шанси, що ваш персонаж залишиться живим. WakaTime — трекер продуктивності написання коду з набором текстового редактора плагінів. Цей інструмент слідкує за вашою роботою, коли ви програмуєте. Програма надає вам метрики за час, який ви витратабо на певний файл, створює та надсилає на пошту щоденні чи щотижневі звіти.

Я - посередній розробник (як із цим впоратися)

Джерело: Dev.to Я особисто знаю дуже талановитих розробників, здатних створювати відмінний софт без (або майже без) зусиль. Завдяки саме таким обдарованим особам IT-галузь процвітає. Але сумна правда у тому, що не кожен розробник – ніндзя/гуру/зірка програмування. Мова про таких, як я. Я посередній програміст. Ця стаття покаже вам, як вижити в промисловості, якщо ви не геній. Кава-брейк #19: 9 інструментів для покращення продуктивності розробника.  Що робити, якщо ви є посереднім кодером?  - 2

Весь час гуглю найпростіші речі

Багато речей я просто не пам'ятаю. Наприклад, функції та методи зі стандартних бібліотек, назви пакетів, шаблонний код тощо. Доводиться гуглити, причому щодня. Також я використовую код із старих проектів. Іноді навіть копіюю відповіді зі StackOverflow або GitHub. Так, це насправді працює - програмування по StackOverflow (StackOverflow Driven Development). Я такий не один. Безліч програмістів роблять так само. Є популярна тред у Twitter, який почав творець Ruby on Rails: “Але чому це обов'язково погано? У такому підході є кілька мінусів:
  • Це призводить до того, що ви копіюєте погані рішення або вразливий код у інших людей.
  • Це формує особливий настрій: якщо ми не можемо нагуглити щось, тоді – Х'юстон, у нас проблема.
  • Якщо Інтернету немає, робота стоїть”.
Я не вважаю, що це велика проблема. Копіювання коду навіть може стати вашою секретною зброєю. Просто потроху знижуйте його негативний вплив на вашу роботу загалом:
  1. Використовуйте IDE для автодоповнень та припущень: так вам не доведеться гуглити основи мови.
  2. Запам'ятайте, де (а не як) ви вже вирішували таку проблему.
  3. Весь код, який ви копіюєте в проект, повинен проходити через аналіз, рефакторинг та реву. Тож ви не нашкодите проекту поганим кодом, але при цьому зможете знайти швидке рішення.

Я намагаюся робити все максимально просто

Комп'ютери завжди роблять так, як їм скажуть. Просто іноді їм дають неправильні команди. Отже, основна проблема в розробці — не в комп'ютерах, а в розумових здібностях розробників, які часто обмежені. Якщо ми, посередні програмісти, не можемо створювати складні абстракції, дивні алгоритми, величезні блоки коду, що не читається, тоді потрібно дотримуватися простих рішень. Як відрізнити простий код? Можна застосувати метод WTFs/Minute. Принцип дуже простий. Як тільки ви знайшли в коді щось, чого ви не розумієте, він складний. Як його спростити?
  1. Переписати його щоб отримати більш зрозумілий дизайн.
  2. Доповнити його документацією.
  3. Додати коментарі до найскладніших частин.
Як одразу писати простий код?
  1. Використовуйте правильні назви змінних, функцій, класів.
  2. Переконайтеся, що кожна частина вашої програми виконує лише одну річ.
  3. Бажано використовувати чисті функції, а не регулярні.
  4. Вибирайте регулярні функції, а чи не класи.
  5. Звертайтеся до класів лише тоді, коли вони справді потрібні.

Я собі не довіряю

Усі можуть замкнути код навіть у найпростіших завданнях. Наприклад, ви можете припуститися помилок:
  • у мові;
  • у логіці;
  • у дизайні софту;
  • у стилях;
  • в безпеці;
  • WTF-помилки (мої кохані).
Немає чарівної книги «Навчитеся писати код без помилок». І це нормально. Баги є у будь-якому софті. Як захиститись від очевидних помилок?
  1. Пишіть тести, багато тестів. Починаючи від інтеграційних та закінчуючи юніт-тестами. Проганяйте код у CI перед кожним запитом включення коду. Це захистить вас від помилок.
  2. Використовуйте статичну типізацію. Наприклад, з JavaScript ми використовуємо flow, з Python - mypy.
  3. Використовуйте автоматизовані перевірки стилів. Існує безліч сервісів у кожній мові.
  4. Використовуйте перевірку якості. Деякі інструменти застосовують до вашого коду складні евристичні алгоритми, щоб знайти проблеми (наприклад, цей клас не потрібен, там занадто складна функція).
  5. Віддавайте свій код на реву.
  6. Платіть іншим за перевірку вашого коду. Коли розробник дивиться на код уперше, йому простіше засікти непослідовності та невдалі дизайнерські рішення.

Постійно навчайтеся

Є багато речей, яким варто навчитися. Якщо ви хочете писати хороший софт, для цього доведеться постійно вчитися. Тут немає обхідних шляхів чи чарівних трюків. Просто ставайте краще щодня. Насамкінець — треба розуміти дві важливі речі:
  1. Проблеми трапляються у всіх. Все, що важливо, наскільки ми готові до цих проблем.
  2. Ми можемо звузити кількість джерел таких проблем до якогось прийнятного рівня.
І це все не пов'язане з вашими розумовими здібностями або мисленням.
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ