JavaRush /Java блог /Random UA /Кава-брейк #63. Як розробнику програмного забезпечення по...

Кава-брейк #63. Як розробнику програмного забезпечення покращити свої soft skills. Рефакторинг коду - сценарії використання та переваги

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

Як розробнику програмного забезпечення покращити свої soft skills

Джерело: Free Code Camp Термін soft skills (гнучкі навички) зустрічається досить часто. І хоча іноді його вважають старомодним терміном, я не можу переоцінити важливість соціального та емоційного розвитку для тих, хто займається розробкою програмного забезпечення. Якість коду, технічні навички, комунікація та спільна робота — все це робить розробника справжнім професіоналом. Кава-брейк #63.  Як розробнику програмного забезпечення покращити свої soft skills.  Рефакторинг коду - сценарії використання та переваги - 1Я не буду тут говорити про soft skills з теоретичної точки зору. Натомість я спробую дати вам практичні поради щодо розвитку ваших власних навичок міжособистісного спілкування, щоб стати більш професійним.

Що потрібно знати про soft skills

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

Що означає гнучкі навички для вашої кар'єри?

Гнучкі навички - це не просто вважатися приємним у спілкуванні. Вони потрібні для професійної роботи у сфері програмного забезпечення. Інформаційний вік зробив світ більш взаємопов'язаним, ніж будь-коли раніше, а це означає, що стало простіше, ніж будь-коли, спілкуватися з клієнтами, замовниками, членами команди та іншими зацікавленими сторонами. У той самий час це означає підвищення конкуренції. Щоб виділитися з натовпу, вам потрібно вміти впливати. На мою думку, головна перевага гнучких навичок у тому, що вони допомагають створювати мережу особистих зв'язків усередині організацій та спільнот. Наявність хороших навичок міжособистісного спілкування означає бути доступним, симпатичним, надійним і заслуговує на довіру — тобто тим, з ким іншим людям подобається працювати і про яке вони хочуть дізнатися більше. Це відкриває двері для нових можливостей. Я часто бачу розробників, які впевнені у своїх технічних навичках, але не мають комунікативних здібностей і щосабо намагаються продемонструвати свою цінність для компанії, в якій вони працюють. Якщо ви думаєте про це з погляду менеджменту, навіщо комусь наймати когось, кому не вистачає впевненості, коли є багато добрих кандидатів, які досить впевнені, щоб проявити себе? Впевненість - дуже важливий фактор при ухваленні рішення про прийом на роботу! Але немає нічого поганого у тому, щоб бути скромним. Просто пам'ятайте, що впевненість у собі, що виникає завдяки усвідомленню того, що ви робите, дуже допомагає аргументувати свою позицію, коли вам потрібно щось пояснити керівництву чи колегам. Пам'ятайте, що інші люди помічають, якщо ви додаєте щось цінне під час обговорення, ділячись своїм поглядом чи ідеями замість того, щоб просто погоджуватися з усім, що говорять. Побудова добрих стосунків у команді полегшує вирішення проблем, оскільки довкола завжди будуть люди, які захочуть вам допомогти. Спочатку це може бути складно (особливо якщо вас називають «нетовариським»), але повірте мені — як тільки це станеться частіше, все різко покращає!

Гнучкі навички, які вам допоможуть

Навички комунікації

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

Навички спільної роботи 

Ви вмієте працювати у команді? Наскільки добре ви спілкуєтеся зі своїми однолітками та колегами? Чи вмієте ви делегувати завдання та обов'язки чи завжди намагаєтеся все робити самостійно?

Навички вирішення конфліктів

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

Емоційний інтелект

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

Управління своїм часом та пріоритетами

Наскільки хороші ваші навички тайм-менеджменту? Ви постійно перевантажуєте себе роботою, але нічого не встигаєте робити? Це погано не лише для продуктивності, а й для вашого психічного здоров'я.

Як покращити свої навички спілкування

Перше, що слід пам'ятати, це те, що гнучкі навички не є вродженими якостями. Ми всі можемо навчитися краще спілкуватися, співпрацювати та ефективніше працювати з іншими людьми. Це просто питання практики. Найкраще в гнучких навичках – це те, що ви можете покращити їх у будь-який час – почати ніколи не пізно! Ось кілька практичних порад щодо розвитку найкращих соціальних навичок:

Будьте активним слухачем

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

Правильно реагуйте на коментарі

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

Будьте впевнені у розмові з людьми

Спілкування марно, якщо воно виходить із невизначеності чи сумнівів. Якщо ви думаєте, що щось може здатися незручним або дурним, то, швидше за все, це звучатиме незручно чи безглуздо. Спробуйте відрепетирувати те, що ви збираєтеся вимовити вголос - краще зробити перед дзеркалом. Так ви побачите, як виглядаєте, коли кажете щось на кшталт «Ем… так… я маю на увазі… ні» замість «Звичайно!» Пам'ятайте, що впевненість не має нічого спільного з зарозумілістю. Навпаки, це означає почуватися досить комфортно, щоб впевнено та відкрито ділитися своїми ідеями з іншими. Це набагато краще, ніж боятися виглядати безглуздо (через що люди тільки погано почуваються).

Цікавіться іншими людьми та їх ідеями

Ніколи не бійтеся ставити запитання. Навіть якщо у вашого співрозмовника зараз немає потрібної вам відповіді, спілкуючись з ним ви все одно зможете знайдете щось корисне або цікаве для себе. Якщо під час розмови між двома людьми виникнуть розбіжності, спробуйте підійти до проблеми з кожної сторони окремо. Це допоможе вам більш точно зрозуміти, що кожна людина має на увазі і полегшить співпрацю надалі (ви знатимете, які рішення можуть задовольнити кожну сторону). І останнє, але не менш важливе: завжди будьте неупередженим. Надмірна установка на власну думку може призвести до непотрібних конфліктів з іншими людьми.

Висновок

Ще одна важлива річ, яку я хотів би тут згадати, — те, що для розвитку соціальних навичок потрібен час. Як і все інше в житті, пройдуть місяці, можливо, навіть роки, перш ніж вони стануть вашою другою натурою (якщо вони колись стануть). Так що не чекайте, що ви та оточуючі змінитеся відразу після прочитання цієї статті. Натомість зосередьтеся зараз на покращенні будь-якої однієї області, свідомо працюючи над покращенням соціальних навичок загалом. За достатньої практики згодом люди почнуть помічати зміни у тому, як ви взаємодієте з оточуючими. Одна з моїх улюблених цитат Стівена Хокінга: "Не забувай дивитися на зірки, а не вниз собі під ноги". Тут застосовна та сама філософія - дивіться вгору, а не вниз! Налагодження відносин потребує часу, але у довгостроковій перспективі окупається.

Рефакторинг коду - сценарії використання та переваги

Джерело: Hackermoon Щоб не відставати від конкурентів, компанії часто намагаються прискорити процес розробки. Це скорочує витрати, але може спричинити якість кінцевого продукту. Один із способів підвищити якість коду в компанії – це рефакторинг. Його часто не беруть до уваги, оскільки він практично непомітний для користувачів. Код, як і раніше, працює, значить, все гаразд, правда? Проте, проблемний та безладний код впливає на швидкість роботи продукту та його загальну продуктивність. Отже, рефакторинг коду сильно впливає досягнення довгострокових цілей. Кава-брейк #63.  Як розробнику програмного забезпечення покращити свої soft skills.  Рефакторинг коду - сценарії використання та переваги - 2У цій статті ми не тільки дізнаємося про значення рефакторингу коду, а й поговоримо про його важливість. Крім того, ми розповімо вам основні переваги, які можна отримати від коду рефакторингу.

Що таке рефакторинг коду?

Відомий теоретик програмування Мартін Фаулер вважає, що рефакторинг коду - це процес редагування коду програми або продукту та виправлення проблемних частин. Відредагований код простий для розуміння та навігації. Він покращує внутрішню структуру продукту, його функціональність та поведінку. Часто багато розробників більше зосереджено на реалізації функцій, які забезпечують роботу програми або онлайн-продукту. На жаль, чистота коду стає другорядним пріоритетом або взагалі не враховується. Навіщо турбуватися, якщо потім можна виправити? Питання, коли настане це «потім». Через те, що «чистий код» нічого не змінює для кінцевого користувача, 63% компаній не бачать сенсу витрачати на нього час, що призводить до так званого «запаху коду» — проблем у вихідному коді програми. Розробники або нехтують рефакторинг коду, або відкладають його на потім. В результаті програма працює занадто повільно, а розібратися в занадто складній базі даних буває просто неможливо. Рефакторинг - це не разова дія, а процес, що повторюється. У міру того, як ваш додаток стає більш складним, отримавши кілька оновлень та нових функцій, код стає важчим. Після рефакторингу на етапі розробки він може бути чистим та акуратним, але цей процес вимагає повторення, якщо ви хочете уникнути проблем у майбутньому. отримавши кілька оновлень та нових функцій, код стає важчим. Після рефакторингу на етапі розробки він може бути чистим та акуратним, але цей процес вимагає повторення, якщо ви хочете уникнути проблем у майбутньому. отримавши кілька оновлень та нових функцій, код стає важчим. Після рефакторингу на етапі розробки він може бути чистим та акуратним, але цей процес вимагає повторення, якщо ви хочете уникнути проблем у майбутньому.

Коли потрібно виконувати рефакторинг коду?

Рефакторинг коду може знадобитися на різних етапах розробки або оновлення програми. Найкраще заздалегідь спланувати, коли і як часто ви його робитимете:

  • На стадії розробки

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

  • Перед додаванням нових функцій

Чим довше код, тим більше роботи вам доведеться докласти для виправлення помилок. Але якщо ви проведете рефакторинг перед додаванням код чогось нового, ви заощадите час для себе в майбутньому або для тих, хто буде працювати з кодом після вас. Рефакторинг слід виконувати щоразу, коли ви додаєте фічу, щоб усе було обережно і зрозуміло.

  • З появою помилки

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

  • Після виявлення дублікатів

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

Яких цілей можна досягти, виконавши рефакторинг коду?

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

  • Підвищена ефективність програмного забезпечення

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

  • Поліпшення продуктивності

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

  • Зменшення технічного боргу

Технічний борг існує вже багато років і переслідує у кошмарах кожного власника IT-бізнесу. Він може стати серйозною проблемою у розвиток компанії. Збитки, які щорічно завдаються низькою якістю програмного забезпечення, оцінюються в більш ніж 150 мільярдів доларів у США і понад 500 мільярдів доларів на рік у всьому світі. І хоча це відбувається з багатьох причин, таких як обмеження часу та ресурсів, однією з основних проблем є поганий код, який призводить до поганого UX, поганої архітектури та інших негативних факторів. Своєчасно виконуючи рефакторинг коду, набагато простіше скоротити технічний борг, а також заощадити на витратах, зусиллях та часі на те, щоб знайти та виправити серйозні помилки або запобігти необхідності починати все з нуля.

Коли не потрібно реорганізовувати код?

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

Коли рефакторинг коштує дорожче, ніж створення нової системи

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

Якщо вам потрібно внести великі зміни до системи

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

Висновок

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