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

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

16
Мій начальник просить мене припинити писати дрібні функції і робити все в одному циклі
Я прочитав книгу під назвою « Чистий код » Роберта К. Мартіна. У цій книзі я бачив багато методів очищення коду, наприклад, написання невеликих функцій, ретельний вибір імен і т. Д. Це, здається, найцікавіша книга про чистий код, який я читав. Однак сьогодні моєму начальнику не сподобалось те, як я …

21
Значна частина мого коду має головний недолік дизайну. Закінчити чи виправити це зараз? [зачинено]
Я студентка середньої школи, яка працює над проектом C # зі своїм другом приблизно з таким же рівнем майстерності, як і я. Поки ми написали приблизно 3 000 рядків коду та 250 рядків тестового коду за проміжок в 100 коміт. Через школу я відклав проект на кілька місяців, і нещодавно …

9
Чому я повинен використовувати заводський клас замість прямого об'єкта?
Я бачив історію декількох проектів бібліотек класів С # та Java на GitHub та CodePlex, і бачу тенденцію переходу на фабричні класи на відміну від прямого об'єкта. Чому я повинен широко використовувати фабричні заняття? У мене досить гарна бібліотека, де об’єкти створюються старомодним способом - шляхом виклику громадських конструкторів класів. …

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

5
Які основні моменти ефективної роботи зі спадковим кодексом? [зачинено]
Я кілька разів бачив, як книга « Ефективна робота з попереднім кодексом» рекомендована. Які ключові моменти цієї книги? Чи набагато більше стосунків зі застарілим кодом, ніж додавання тестів на одиницю / інтеграцію, а потім рефакторинг?

16
Чи потрібно видалити невстановлений код?
Я працюю над кодовою базою середнього розміру (100 К), це весь відносно недавній код (менше року) і має гарне покриття тестових одиниць. Я постійно натрапляю на методи, які або більше не використовуються ніде або посилаються лише в одиничних тестах, які протестують лише цей конкретний метод. Чи потрібно видалити цей код, …

12
Обґрунтування переваги локальних змінних перед змінними екземпляра?
Кодова база, над якою я працюю, часто використовує змінні екземпляри для обміну даними між різними тривіальними методами. Оригінальний розробник переконаний, що він дотримується кращих практик, зазначених у книзі « Чистий код» дядька Боб / Роберта Мартіна: «Перше правило функцій - це те, що вони повинні бути маленькими». і "Ідеальна кількість …
109 java  refactoring 

15
TDD Red-Green-Refactor і якщо / як перевірити методи, які стають приватними
наскільки я розумію, більшість людей, мабуть, згодні з тим, що приватні методи не повинні бути перевірені безпосередньо, а скоріше через те, що їх називають публічні методи. Я бачу їхню суть, але у мене є деякі проблеми з цим, коли я намагаюся дотримуватися "трьох законів TDD" і використовувати цикл "Червоний - …

20
Чи добре замінити оптимізований код на читабельний код?
Іноді ви стикаєтеся з ситуацією, коли вам доведеться розширити / вдосконалити деякий існуючий код. Ви бачите, що старий код дуже худорлявий, але його також важко розширити, і для читання потрібен час. Це гарна ідея замінити його сучасним кодом? Деякий час тому мені сподобався худорлявий підхід, але зараз мені здається, що …

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

10
Скільки рядків у класі занадто багато на Java? [зачинено]
Як ви вважаєте, яке корисне правило: скільки рядків коду занадто багато для одного класу на Java? Щоб було зрозуміло, я знаю, що кількість рядків навіть не наближається до реального стандарту, який слід використовувати для того, що має бути в певному класі, а що не повинно. Заняття повинні бути розроблені відповідно …

6
Виправлення орфографічної помилки в назві методу
Один із методів, які я зазвичай використовую в нашій кодовій базі, є неправильним написанням (і це передувало мені). Це насправді дратує мене не просто тому, що воно введено в оману, але що ще важливіше, це змушує мене ВИНАГИ помилятися з ім'ям при першому введенні його (і тоді я повинен пам'ятати …

10
Чи є сенс писати тести на застарілий код, коли немає часу на повне рефакторинг?
Я, як правило, намагаюся дотримуватися порад книги, що працює ефективно з Legacy Cod e . Я розбиваю залежності, переміщую частини коду до @VisibleForTesting public staticметодів і до нових класів, щоб зробити код (або хоча б якусь його частину) перевіряемою. І я пишу тести, щоб переконатися, що нічого не зламаю, коли …

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

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

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