JavaRush /Java блог /Random UA /Кава-брейк #39. 6 причин знати хоча б одну мову програмув...

Кава-брейк #39. 6 причин знати хоча б одну мову програмування. 12 корисних правил рефакторингу

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

6 причин знати хоча б одну мову програмування

Джерело: Hackernoon Можливо, ви ніколи не стикалися з комп'ютерними науками. Але існує як мінімум 6 причин для того, щоб вивчити хоча б одну мову програмування.Кава-брейк #39.  6 причин знати хоча б одну мову програмування.  12 корисних правил рефакторингу - 1

1. Щоб зрозуміти, де ви проводите 28300 годин свого життя

Згідно зі статистикою, більшість із нас витрачають значну частину свого життя (28300 годин) на інтернет, мобільні та настільні програми. Усі ці віртуальні речі створюються за допомогою коду. Щоб зрозуміти, як вони влаштовані, важливо мати базові знання програмування.

2. Щоб полегшити собі життя

Програми та технічні пристрої створюються для того, щоб полегшити наше життя. І хоча багато хто з нас взаємодіють з ними в ролі користувача, ви також можете створювати програми за допомогою програмування. Наприклад, налаштувати текстову відповідь за допомогою бота, коли ви не в мережі. На перший погляд це здається складним завданням, але це не так. Вам навіть не доведеться писати кожен рядок коду. Просто потрібно розуміти, за що відповідає той чи інший рядок коду, і як усе це працює. За схожим принципом створюються та інші програми.

3. Щоб уміти створювати нове

Кожен пристрій, що використовується: від мобільного телефону до електрогітари використовує у своїй роботі код. Таким чином, програмування є у нашому житті. Тому, хоч би чим ви захоплювалися, ви можете створювати нові речі за допомогою програмування. Не має значення, хто ви: музикант чи юрист — зараз кожен може виявити свої творчі здібності, якщо знає мову програмування.

4. Щоб покращити своє резюме

Немає нічого поганого в тому, щоб додати щось нове у своє резюме, чи не так? Так чому б не додати програмування як додатковий досвід? Знання мови програмування може виділити ваше резюме серед інших. Це вкаже на те, що ви людина, яка не боїться вивчати щось нестандартне та не боїться приймати виклик. Крім того, це показує, що ви знаєте сучасні технології.

5. Щоб посаботи навички вирішення проблем

Програмування дає більше, ніж просто набір знань. Воно покращує ваші навички вирішення проблем, а також допомагає підвищити рівень вашого терпіння. Можливо, ви не відчуєте це одразу, але в майбутньому це позитивно вплине на багато сфер вашого життя.

6. Щоб розширити кар'єрні можливості

2020 приніс нам купу сюрпризів. Ринок праці повністю змінився через COVID-19. Багато професій втратабо актуальність і люди намагаються знайти нові можливості для виживання. Так що немає жодних гарантій, що ваша професія існуватиме через 30 років. Мати запасний варіант - мудре рішення.

Коли код потребує рефакторингу: 12 корисних правил

Джерело: Medium Рефакторинг, по суті, це перепроектування кодової бази, зміна внутрішньої структури програми. Процес рефакторингу часто поєднують із виправленням помилок, додаванням нових функцій та налаштуванням продуктивності. Але не варто забувати: рефакторинг — це не реву коду і не виправлення помилок.Кава-брейк #39.  6 причин знати хоча б одну мову програмування.  12 корисних правил рефакторингу - 2

Чому варто витратити час на вивчення рефакторингу

Якщо ви розробник-початківець, то навчання рефакторингу коду і, що більш важливо, вмінню розпізнавати, коли проводити рефакторинг, стане для вас важливим навичкою. Багато розробників пропускають рефакторинг. У результаті їхній код виглядає посереднім, заплутаним і погано читається. Як зрозуміти, коли код потребує рефакторингу? Існує 12 правил, які допоможуть це визначити:
  1. Список параметрів вашого класу став надто великим? Він важко піддається тестуванню та налагодженню? Тоді це головний кандидат на рефакторинг.
  2. У вашому коді є методи всередині класів, які використовують лише одну із залежностей класів? Вам краще винести цей метод в окремий клас - навіть якщо цей клас складатиметься лише з одного методу.
  3. Ваш метод виконує два різні завдання, залежно від значення логічного параметра? У такому разі краще створити два різні методи з чіткими обов'язками.
  4. Чи є у вашому методі розгалуження за значенням? Наприклад, ви перевіряєте тип об'єкта та виконуєте різні операції залежно від його типу. Це чудовий випадок, щоб перетворити ваш if-elseабо switchна словник.
  5. Ви часто використовуєте у своєму коді if-elseчи switches? Спробуйте замість цього використовувати поліморфізм і застосувати перевірені у боях шаблони проектування, такі як Strategy чи Mediator.
  6. Конструктор чи метод вашого класу приймає магічне число чи рядок? Замініть магію звичайними переліками.
  7. У вас є чітко запрограмовані значення (числа чи рядки)? Натомість візьміть значення як параметри та зробіть їх конфігурованими. Вам буде простіше повторно використовувати або розгортати вашу програму в нових середовищах або змінювати налаштування.
  8. Не використовуйте імена змінних як i, j, k, m, n, x. Просто припиніть це робити.
  9. Ви виявабо, що часто використовуєте ту саму логіку в кількох місцях? Перемістіть логіку у свій клас або метод.
  10. У вашому коді є класи Serviceчи Manager? Вони схожі на швейцарський армійський ніж — багато можливостей, які рідко використовуються. Знайдіть хвабонку, щоб подумати, які завдання можна використовувати, а потім перемістіть кожну окрему задачу в окремий клас.
  11. Ви вважаєте, що складно тестувати один метод, тому що клас, в якому він знаходиться, приймає безліч аргументів конструктора? Тоді заберіть метод із класу.
  12. Вам потрібно додати новий else-ifабо switchдля реалізації нових вимог або функцій? Спробуйте використати інтерфейси та рефлексію для автоматичного виявлення типів.

Як рефакторинг покращує якість внутрішнього програмного забезпечення?

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