Запитання з тегом «refactoring»

Рефакторинг - це дисциплінована методика перебудови існуючого коду, зміна його внутрішньої структури без зміни зовнішньої поведінки.

11
Як люди, які роблять TDD, справляються із втратою роботи, коли роблять капітальний рефакторинг
Якийсь час я намагався навчитися писати одиничні тести для свого коду. Спочатку я почав робити справжній TDD, де я б не писав жодного коду, поки спочатку не написав невдалий тест. Однак нещодавно у мене виникла терниста проблема, вирішити яку було багато коду. Провівши пару тижнів, пишучи тести, а потім зашифрувавшись, …
37 tdd  refactoring 

10
Усунення магічних чисел: коли настав час сказати "ні"?
Ми всі усвідомлюємо, що магічні цифри (важко кодовані значення) можуть спричинити хаос у вашій програмі, особливо коли настав час змінити розділ коду, який не має коментарів, але де ви проводите лінію? Наприклад, якщо у вас є функція, яка обчислює кількість секунд між двома днями, чи замінюєте ви seconds = num_days …

12
Чи поступова зміна методології написання коду вплинула на продуктивність системи? І чи варто мені байдуже?
TD; DR: Була певна плутанина щодо того, що я просив, тож ось ідея, яка рухає за питанням: Я завжди мав намір питання бути таким, яким воно є. Я, можливо, не сформулював це добре спочатку. Але намір завжди був " модульний, відокремлений, вільний зв'язаний, роз'єднаний, реконструйований код " помітно повільніше за …

4
Що таке термін для такого типу рефакторингу
Я впевнений, що є термін для наступного рефакторингу, але я не можу його згадати, і мій Google-фу зірвав мене! Рефактор рухається, якщо заяви на те, де вони будуть мати найбільший вплив, наприклад, змінивши це $test = someFunctionThatReturnsABool(); for($x = 0; $x < 10000; $x++) { if ($test) { echo $x; …

7
Як запобігти невідомому дублюванню коду?
Я працюю на досить великій базі коду. Сотні занять, тони різних файлів, велика кількість функціональних можливостей займає більше 15 хвилин, щоб витягнути свіжу копію тощо. Великою проблемою настільки великої бази коду є те, що у неї є досить багато корисних методів і таких, які роблять те саме, або є код, …

8
Чи “змінні повинні жити в найменшому обсязі”, включає випадок “змінні не повинні існувати, якщо це можливо”?
Відповідно до прийнятої відповіді на тему " Обгрунтування переваги локальних змінних перед змінними екземпляра? ", Змінні повинні жити в найменшому обсязі. Спростіть проблему в моїй інтерпретації, це означає, що ми повинні переробити такий код: public class Main { private A a; private B b; public ABResult getResult() { getA(); getB(); …

10
Чи є "Parent x = new Child ();" замість "Child x = new Child ();" поганою практикою, якщо ми можемо використовувати останнє?
Наприклад, я бачив деякі коди, які створюють такий фрагмент: Fragment myFragment=new MyFragment(); який оголошує змінну як фрагмент замість MyFragment, який MyFragment є дочірнім класом Fragment. Я не задоволений цим рядком кодів, тому що я думаю, що цей код повинен бути: MyFragment myFragment=new MyFragment(); Що конкретніше, це правда? Або в узагальненні …

9
Коли робити рефактор
Я прочитав більшу частину книги Фаулера "Рефакторинг" і відремонтував багато застосунків у минулому великому і малому. Одна з найскладніших речей, яку я можу навчити, - це "коли" для рефактора. Я схильний робити це на основі відчуття кишки, яке мені чудово служило в минулому. Однак, коли вступати в дискусії з людьми …

4
Використання магічних рядків / номерів [закрито]
Це дещо суперечлива тема, і, мабуть, існує стільки думок, скільки є програмістів. Але заради цього я хочу знати, які звичні практики в бізнесі (або на ваших робочих місцях). На моєму робочому місці у нас є чіткі правила кодування. Один розділ цього присвячений магічним рядкам / номерам. У ньому зазначено (для …

11
Які фактори повинні впливати на те, як я визначаю, коли відмовитись від невеликого проекту з другом? [зачинено]
Я опинився у важкому місці, як пізно. Працював над грою з приятелем програмування вже майже 8 місяців. Ми обидва починали як початківці програмування близько серпня минулого року, він є студентом другого курсу, я - технік з інформаційних технологій в галузі торгівлі і є програмістом-самоучкою з безліччю книг та онлайн-підписок. Проблема, …

6
Які виплати ви бачили, піклуючись про технічну заборгованість?
Ця стаття про технічну заборгованість має деякі хороші моменти, зокрема: Робота над "технічними питаннями" найкраще спрацьовує тоді, коли її рухають історії. База коду, ймовірно, потребує роботи скрізь, але виплата буде отримана лише там, де над цим кодом буде працювати з особистих причин. Якщо жодна історія не пройде через якусь хитру …

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

6
Чи існує схема дизайну, щоб усунути необхідність перевірки на наявність прапорів?
Я збираюся зберегти деякий рядок корисного навантаження в базі даних. У мене є дві глобальні конфігурації: шифрування стиснення Вони можуть бути включені або відключені за допомогою конфігурації таким чином, що або один з них увімкнено, обидва ввімкнено або обидва відключені. Моя поточна реалізація така: if (encryptionEnable && !compressEnable) { encrypt(data); …

6
Виписки рефакторингу і чи існує взагалі реальна користь для виписок?
Я читав цю статтю і цікавився, чи ми можемо позбутися всіх операторів комутації, замінивши їх на Словник чи Фабрику, щоб у моїх проектах взагалі не було заяв про перемикання. Щось не дуже склалося. Питання полягає в тому, чи мають оператори перемикачів реально використані чи ми продовжуємо їх замінювати або словником, …

13
Як далеко я можу підштовхнути рефакторинг без зміни зовнішньої поведінки?
За словами Мартіна Фаулера , рефакторинг коду - це (моє наголос): Рефакторинг - це дисциплінована методика перебудови існуючого коду, зміна його внутрішньої структури без зміни зовнішньої поведінки . Його серце - це низка невеликих поведінок, що зберігають трансформації. Кожна трансформація (її називають "рефакторинг") робить мало, але послідовність перетворень може призвести …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.