Oarsman в Self Employed
  • Чому рефакторинг — це постійний процес

    А які в тебе є ідеї? Які в твоїй роботі є найбільш незрозумілі речі, які не дозволяють тобі швидко рефакторити код?

  • Чому рефакторинг — це постійний процес

    Аж интересно стало — что такое конструктор? Вот реально вопрос даже не с иронией — может я чего упустил в новых трендах разработки?

    Цим «новим» трендам розробки років більше, ніж нам с тобою разом. ;)
    Зазвичай інженерам ліниво думати, тому вони вирішують задачі, як то кажуть, в лоб. Це простіше, не вимагає багато зусиль, та й взагалі імперативненько. Але такий підхід створює багато проблем потім, під час підтримки, розвитку, рефакторінгу. Щоб рефакторити було не так лячно, придумали тестування. Це логічний розвиток подій. Причина та наслідок.
    Але, якщо розглянути задачу не як метелика-одноденку, а на трохи вищому рівню абстракцій, то можна виявити, що весь код на логічному рівні доволі таки повторюваний за операціями, різняться тільки деталі імплементації та порядок їх виконання. Один з яскравих прикладів — CRUD. Це 4 універсальні операції над даними.

    Зазвичай CRUD імплементують в «прямому» порядку: є об’єкт та йому роблять імплементацію операцій по роботі з ним. Якщо порядок вивернути навиворіт та побудувати систему 4 типів операцій, то виявиться, що система в цілому стає трохи універсальнішою та в ній з’являються операції, які повторюються від імплементації до імплементації. Наступним логічним кроком буде об’єднання таких повторюваних операцій в окремий модуль/блок/систему/фреймворк. Код кінцевої імплементації в кожному конкретному класі чи функції стане простішим та лаконічнішим. В ідеальному випадку імперативний підхід перетворюється на декларативний. Вирішувати кінцеву задачу за допомогою декларативного підходу простіше, бо він майже не має градацій успішності в роботі, та працює за булевою логікою: працює або ні. І це зрозуміло вже під час розробки. І тестувати повторно це безглуздо. Можна, але економічно не виправдано.

    Ще одним яскравим прикладом «конструктора» з десь з 50 річним випробувальним терміном, який доводить високу ефективність підходу, є так званий «*nix way». Це система примітивних утиліт, які побудовані за однаковими правилами та вимогами до вводу-виводу, з яких можна зібрати набагато більшу функціональність, ніж дозволяє кожна утиліта окремо. Якщо уважно придивитися до деталей, то ми можемо побачити абсолютно той самий підхід, що я описав вище.

    Я почему-то наблюдал вокруг себя обратное — те кто начал практиковать написание автотестов, начал как-то сам задумваться о важности слабой связанности и высокого зацепления, порой даже не понимая и не слышав об этих понятиях. Тем самым улучшая качество своего кода.

    У кожного свої стимули... Моїм стимулом було створити методологію, яка не вимагає тестування взагалі.

  • Чому рефакторинг — це постійний процес

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

  • Чому рефакторинг — це постійний процес

  • Чому рефакторинг — це постійний процес

    Duplo

    Поддержал: Nazar Iceman
  • Чому рефакторинг — це постійний процес

    Тиск з боку бізнесу.

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

    Відсутність розуміння наслідків технічного боргу.

    В кого? В бізнесу? Йому чхати на ваші оці «борги».

    Відсутність боротьби з жорсткою обмеженістю компонентів.

    Конструктор.

    Відсутність автотестів.

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

    Відсутність документації.

    В документації може бути описаний шикарно спроєктований технічний борг. ;)

    Відсутність взаємодії між членами команди.

    Чхати, якщо у вас конструктор.

    Довготривала одночасна розробка в кількох гілках.

    Кон-струк-тор.

    Відкладений рефакторинг.

    Не потрібний, якщо у вас .... правильно, конструктор.

    Відсутність контролю за дотриманням стандартів.

    Конструктор не дасть не дотримуватися.

    Відсутність компетенції.

    Тут вже нічого не допоможе. Тут тільки шлях болю та страждання.

  • Красивая природа, низкие налоги и отсутствие инфраструктуры. Все плюсы и минусы релокации в Черногорию

    Більше за все про відсутність мови/країни/нації кричать ті, чия мова до 1700 року була не слов’янська, країну кого зліпили з того, що було, та нація так й не утворилася за всі ці роки.

  • 24 онсайти у Долині, або релокація (Update 2021/04/26)

    Перше запитання, яке мусить задавати кандидат, це про архітектурну доречність будувати такі дивакуваті ланцюги наслідування.

  • Більше ніяких паролів і секретів в Azure

    Ніхто не заважає змінити ім’я на Костянтин Анбан ;)

  • Що таке сучасний Front-end і як він зміниться у майбутньому. Дискусія на DOU

    Більше можливостей != більше мегабайт коду. Одну й ту саму задачу можна вирішити багатьма способами, але обирають чомусь найгірші з них...

  • 5 историй IT-специалистов, которые работают без выходных и не выгорают

    Приват Банк практикував поліграф при наймі на роботу. Особливо для ключових посад.

  • Квартира, ипотека 2019

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

    Поддержал: Alexander Kaganovsky
  • Таксер поломался

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

    Поддержали: Alex Fogol, Genadiy Zelenskiy
  • Таксер поломался

    Вони повернуть через місяць квітанцію № 2, що звіт містить помилку, а потім одразу викатять штрафи за порушення процедури подання звітності. :D

    Поддержали: Andrew Frolov, Olexandr
  • Чистый код. Базовые принципы на примерах

    Зараз у перловиків на очі сльози щастя навернулися...

    Поддержал: Olexandr
  • Новая налоговая отчетность ФОП 3я группа

    Не спостерігав

  • Таксер поломался

    Лососнуть тунця, а не оштрафують. Більше 80% справ податкова програє. Це не буде виключенням.

  • Новая налоговая отчетность ФОП 3я группа

    Так саме. Можливо це пов’язане з тим, що не закінчено ще термін сплати ЄСВ

  • Таксер поломался

    Там нову форму розробили, чекайте, поки таксер не оновить свою

    Поддержал: Igor Gordievskiy
  • Таксер поломался

    Якщо відхилена, то основну ще раз

    Поддержал: Igor Gordievskiy
← Сtrl 1... 34567...243 Ctrl →