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

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

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

3
Які хороші способи організувати вхідні файли (Makefiles, SConstruct, CMakeLists.txt тощо) для створення програмного забезпечення для автоматизації?
Одне, що мені подобається робити зі своїм кодом, - це переконатися, що він перероблений на керовані частини. Однак, коли мова йде про створення програмного забезпечення, я вважаю, що те, що програмне забезпечення для автоматизації побудови я в кінцевому підсумку використовую (останнім часом це було GNU Make або SCons), стає кінцевим …

7
Як вам керувати рефакторингом з великою базою коду та багатьма розробниками?
Я хотів би запобігти ситуації, коли два розробники рефакторують один і той же код одночасно, не розмовляючи про це спочатку, ймовірно, використовуючи якийсь інструмент, можливо плагін Eclipse. Ви можете допомогти? У нас 4,5 мільйона рядків коду та понад 20 команд розробників на чотирьох континентах. В ідеалі я хотів би, щоб …

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

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

5
Чи корисно міні-рефакторний код, сподіваючись на покращення якості, чи це просто "переміщення коду" без особливої ​​користі?
Приклад Я натрапив на монолітний код, який робить "все" в одному місці - завантажуючи дані з бази даних, показуючи розмітку HTML, виконуючи роль маршрутизатора / контролера / дії. Я почав застосовувати код баз даних SRP, що рухається, до власного файлу, забезпечуючи кращу назву речей, і все це виглядало добре, але …

4
Технічний термін для позначення протилежної ін'єкції залежності?
Це скоріше номенклатура (технічне написання), а не суто технічне питання. Я намагаюся написати пропозицію щодо рефакторингу (і присвоїти це собі), зосереджена на розширенні ін'єкції залежності у нашій програмі. У той час як ми використовуємо Spring для автоматичного з'єднання бобів, все ще є випадки, коли інстанціюють боби MyClass obj = new …

7
Після написання коду, чому я відчуваю, що «я б написав краще» через деякий час? [зачинено]
Наразі це запитання не підходить для нашого формату запитань. Ми очікуємо, що відповіді будуть підкріплені фактами, посиланнями або експертними знаннями, але це питання, ймовірно, вимагатиме дискусій, аргументів, опитувань чи розширеної дискусії. Якщо ви вважаєте, що це питання можна вдосконалити та, можливо, знову відкрити, відвідайте довідковий центр для ознайомлення . Закрито …

7
Рефакторинг і принцип відкритого / закритого типу
Нещодавно я читав веб-сайт про розробку чистого коду (тут не посилаю посилання, оскільки це не англійською мовою). Один із принципів, що рекламується на цьому веб-сайті, - це принцип відкритого закриття: кожен програмний компонент повинен бути відкритим для розширення та закритим для модифікації. Наприклад, коли ми впровадили та протестували клас, ми …

2
Додавання одиничних тестів до старого простого проекту C
У заголовку все сказано. Моя компанія повторно використовує застарілий проект мікропрограмного забезпечення для пристрою мікроконтролера, написаного повністю на простому С. Є частини, які, очевидно, неправильні і потребують змін, і виходять із фону C # / TDD. Мені не подобається ідея випадкового рефакторингу матеріалів без тестів, щоб запевнити нас, що функціональність …

4
Поводження зі «пов’язаною» роботою в межах одного спритного робочого елемента
Я в проектній групі, що складається з 4-х дев. У нас тривалий час обговорювались, як впоратися з додатковою роботою, яка з’являється в ході одного робочого предмета. Ця додаткова робота, як правило, є дещо пов'язаними із завданням, але не завжди необхідними для досягнення мети пункту (це може бути думка). Приклади включають, …

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

2
Чи хороша ідея поширення коду з коментарями рефакторингу?
Я працюю над проектом "спагеті-код", і, поки я виправляю помилки та впроваджую нові функції, я також роблю деякий рефакторинг для того, щоб зробити код блоком-перевіреним. Код часто настільки щільно пов'язаний або складний, що виправлення невеликої помилки призведе до перезапису багатьох класів. Тому я вирішив намалювати рядок десь у коді, де …

5
Повторення коду проти багатовідповідального методу
Я намагаюся слідувати принципу єдиної відповідальності (SRP), а також пропускати повторення коду. Однак часто є місця, де є повторення коду, які є не що інше, як кодові блоки викликів, стійких до вилучення їх принаймні значущим методом: DoAction1(); DoAction2(); if (value) DoAction3(); DoAction4(); Який найкращий спосіб витягти такий код у метод …

5
Чому мій клас гірший за ієрархію класів у книзі (початківець ООП)?
Я читаю об'єкти, шаблони та практику PHP . Автор намагається моделювати урок у коледжі. Мета - вивести тип уроку (лекція чи семінар), а також оплата за урок залежно від того, чи це уроки щогодини або з фіксованою ціною. Тож вихід повинен бути Lesson charge 20. Charge type: hourly rate. Lesson …

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