Все вопросы: [refactoring]

667 вопросов

13
голосов
7ответов
7489 просмотров

"рефакторинг рефакторинг рефакторинга вашего кода".Что именно это означает и зачем это нужно?

Я часто слышал из блогов профессионалов что-то вроде рефакторинга кода при любой возможности.Что это такое?Переписываете код более простым и меньшим количеством строк?Какова цель этого?

0
голосов
4ответов
500 просмотров

Рефакторинг val в метод приводит к ошибке времени компиляции

Сейчас у меня def list(node: NodeSeq): NodeSeq = { val all = Thing.findAll.flatMap({ thing => bind("thing", chooseTemplate("thing", "entry", node), "desc" -> Text(thing.desc.is), "creator" -> thing.creatorName.getOrElse("UNKNOWN"), "delete" -> S...

4
голосов
2ответов
1948 просмотров

Перенос (монолитного) классического ASP в ASP.Net

В течение многих лет у меня была цель перейти от ASP / VBScript к «лучшему» языку - я бы предпочел C #, поскольку у меня есть навыки в C - но я бы также рассмотрел другие языки (включая PHP и т. д., поэтому не только DotNet) Задача состоит в том, чтобы иметь базу кода на языке, который делает...

2
голосов
6ответов
351 просмотров

Есть ли способ лучше?Пока зацикливается и продолжается

В поддерживаемом мной коде есть много функций, которые можно описать как тяжелые шаблоны.Вот шаблонный шаблон, который до тошноты повторяется во всем приложении при обработке ввода-вывода БД с помощью курсора: if( !RowValue( row, m_InferredTable->YearColumn(), m_InferredTable->YearName(...

7
голосов
7ответов
7283 просмотров

Инструменты для рефакторинга кода C

Какие есть инструменты, поддерживающие рефакторинг кода C (переименование переменных, извлечение методов, поиск ссылок на методы, ...) Предпочтительно для среды Linux, но инструменты Windows тоже подходят. Если есть что-то для emacs, даже лучше!

5
голосов
3ответов
4940 просмотров

Переименование Eclipse не работает полностью

Хорошо, я полностью искал Google. В моем рабочем пространстве eclipse есть несколько java-проектов (около 25).В большинстве проектов используются связанные исходные папки. Когда я переименовываю класс в Project1, ссылки на этот класс в других проектах не обновляются.Ссылки в проекте обновл...

0
голосов
6ответов
381 просмотров

Как провести рефакторинг этого кода?

Предложите рефакторинг этого кода. Избегайте дублирования кода, множественные если public FormDataDTO getDataForFieldFormCHrzntalField(Field field) { FormDataDTO formDataDTO = new FormDataDTO(); CHrzntalField cHrzntalField = (CHrzntalField) field; for (int j = 0; j <...

0
голосов
4ответов
236 просмотров

Как унифицировать / упростить этот код - обработка / делегирование событий?

У меня есть объекты Process, которые отслеживаются с двух разных точек зрения.Windows.Forms.ListView (фактически производный класс) и средство просмотра графиков (основанное на макете автоматического построения графиков Microsoft Research).У каждого есть контекстное меню, в котором могут быть ак...

3
голосов
5ответов
374 просмотров

Рефакторинг вызовов функций с уменьшением дублирования кода в результирующих определениях классов

У меня есть файл заголовка с примерно 400 объявлениями функций и соответствующий ему исходный файл с определениями. Чтобы заменить реализацию макетом во время выполнения, я хочу заменить реализацию вызовами объекта, который вместо этого будет содержать реализацию (указатель на реализацию - pI...

1
голосов
1ответов
777 просмотров

Хорошая база кода с открытым исходным кодом для обучения рефакторингу

Какие исходные коды с открытым исходным кодом вы использовали для изучения рефакторинга, написанные на java или C #?Одно из требований - хорошие модульные тесты.

1
голосов
1ответов
199 просмотров

Рефакторинг свойств C # - мне нужно?

У меня есть следующий код: public class Header { Line Lines { get { ...}} public ICryptographer GetCryptographer(FieldGroup group) { ... } } public class Line { public Header Header { get; set; } public FieldGroup FieldGroup { get; set; } ICryptographer...

1
голосов
6ответов
229 просмотров

Как я могу оптимизировать этот SQL-запрос, чтобы избавиться от файловой сортировки и временной таблицы?

Вот вопрос: SELECT count(id) AS count FROM `numbers` GROUP BY MONTH(created_at), YEAR(created_at) ORDER BY YEAR(created_at), MONTH(created_at) Этот запрос выдает "Использование временного" и "Использование файловой сортировки" при выполнении EXPLAIN. В конечном итоге ...

4
голосов
6ответов
285 просмотров

Оптимизация и изменение существующего приложения

Похоже, это популярная жалоба на многих форумах программистов, поэтому я не удивлюсь, если этот вопрос уже был здесь. Извините, если на него уже был дан ответ, но я искал и не нашел ответа, относящегося к Java / OO. У меня есть довольно сложное приложение, написанное несколько месяцев назад. ...

4
голосов
6ответов
274 просмотров

Нулевые указатели повсюду, потому что данные внезапно становятся разреженными

Кто-то разработал код, основанный на полных данных; в XML всегда был каждый элемент. Источник данных теперь отправляет разреженный XML; если бы раньше он был пуст, теперь его нет. Итак, пора провести рефакторинг, исправляя ошибки. Здесь более 100 строк кода: functionDoSomething(foo, bar, g...

4
голосов
12ответов
2361 просмотров

Как я могу сравнить нулевые значения с помощью компаратора?

У меня есть несколько Comparator - один для Date, один для десятичных чисел, один для процентов и т. д. Сначала мой десятичный компаратор выглядел так: class NumericComparator implements Comparator<String> { @Override public int compare(String s1, String s2) { final Double i...

3
голосов
6ответов
318 просмотров

На что следует ориентироваться при рефакторинге проекта для повышения удобства обслуживания?

У меня есть проект (около 80K LOC), над которым я работаю, и у меня почти целый месяц роскошного рефакторинга и времени добавления функций перед выпуском, если я стараюсь не нарушатьчто-нибудь.С учетом сказанного, что я могу сделать для улучшения ремонтопригодности.Пожалуйста, обратите внимание,...

6
голосов
4ответов
3617 просмотров

Рефакторинг IntelliJ с удалением посредника на пустом интерфейсе

У меня есть интерфейс, который сейчас пуст и расширяет другой интерфейс.Я хотел бы удалить пустой интерфейс и использовать базовый интерфейс, и я пытаюсь найти правильный рефакторинг в IntelliJ. Я пробовал «удалить посредника», но получил «не могу выполнить рефакторинг. Каретка должна быть по...

3
голосов
4ответов
484 просмотров

Как убрать повторяющийся код в моих действиях?

У меня в приложении mvc несколько раз повторяется следующий код. public ActionResult AnAction(int Id) { var claim = GetClaim(Id); if (claim == null) { return View("ClaimNotFound"); } // do stuff here .... ...

5
голосов
7ответов
5540 просмотров

C # - Приведение параметра «объект» к типу этого объекта?

C # Всем привет, Я передаю объект методу. Я хочу преобразовать этот объект в его конкретный класс, чтобы я мог выполнять его собственные конкретные методы?Как я могу это сделать? Move( new Cat() ); Move( new Pigeon() ); public void Move(object objectToMove) { if(objectToMove==...

5
голосов
3ответов
4314 просмотров

Как вызвать переопределенные методы в подклассе?Возможный кандидат на рефакторинг

Первоначально у меня была проблема с дизайном, когда мне нужно было пять подклассов суперкласса, где все, кроме двух, использовали один и тот же общий метод выполнения действий, а два других класса нуждались в особой обработке. Я хотел избежать написания метода пять раз; два особых случая и три ...

3
голосов
1ответов
740 просмотров

Кто-нибудь знает какие-либо инструменты рефакторинга APEX?

Компания, которая владеет компанией, в которой я работаю, недавно в одностороннем порядке решила, что мы движемся к платформам salesforce.com и force.com. В настоящее время мы являемся магазином C # .NET и часто используем Visual Studio и Resharper в повседневной работе. Я не доволен этим реш...

0
голосов
2ответов
119 просмотров

Как преобразовать функцию PHP в нефункциональную?

Как преобразовать функцию php в приведенном ниже коде в нефункциональную. <?php require_once ('./mysqli_connect.php'); // Connect to the db. function make_list ($parent) { global $tasks; echo '<ol>'; foreach ($parent as $task_id => $todo) { echo "<li&gt...

3
голосов
10ответов
341 просмотров

Как лучше написать эти циклы на Java?

У меня есть набор объектов, с которыми я хотел бы выполнить некоторые операции, в порядке их повторения.После того, как на них будет вызвана эта операция, я хотел бы выполнить с ними другие операции.По сути, код будет выглядеть примерно так: for(int i = 0;i < myobj.size();i++) { myobj.a...

2
голосов
2ответов
1111 просмотров

Hibernate обновляет структуру базы данных с помощью новых индексов

Хорошо известно, что спящий режим очень странно работает с индексами.Он генерирует их только в том случае, если вы создаете схему базы данных с нуля.Но если вы попытаетесь обновить схему базы данных, спящий режим проигнорирует новые индексы. Мой вопрос: найдет ли кто-нибудь решение, как попро...

4
голосов
3ответов
2783 просмотров

Возможно ли в C # получить доступ к полям объекта, используя имена полей, сгенерированные во время выполнения

Вот что я имею в виду: Мне нужно заменить этот уродливый код C #: if (attribute.Name == "Name") machinePool.Name = attribute.Value; else if (attribute.Name == "Capabilities") machinePool.Capabilities = attribute.Value; else if (attribute.Name == "FillFactor") machinePool.FillFactor = attri...

11
голосов
10ответов
2347 просмотров

Метод рефакторинга с несколькими точками возврата

** РЕДАКТИРОВАТЬ. Ниже приведены несколько вариантов, которые подойдут. Пожалуйста, голосуйте / комментируйте в соответствии с вашими взглядами по этому поводу. Я работаю над очисткой и добавлением функций в метод C # со следующей базовой структурой: public void processStuff() { ...

0
голосов
4ответов
614 просмотров

Риски, связанные с изменением пакета по умолчанию в Java?

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

0
голосов
2ответов
483 просмотров

Рефакторинг шаблона Django forloop

Я чувствую, что должен быть более чистый способ сделать что-то подобное. У меня есть 15 или около того объектов, которые перечислены по три в ряд. Кто-нибудь знает решения получше. <ul> {% for object in object_list %} <li {% ifequal forloop.counter 1 %}class...

7
голосов
4ответов
383 просмотров

Как я могу определить и удалить избыточный код в Perl?

У меня есть кодовая база Perl, и есть много повторяющихся функций, и они распределены по многим файлам. Есть ли удобный способ идентифицировать эти избыточные функции в кодовой базе? Есть ли какой-нибудь простой инструмент, который может проверить мою кодовую базу для этого?

1
голосов
4ответов
618 просмотров

Создание тестируемого кода

У меня есть файл в большой устаревшей кодовой базе, содержащий методы доступа к базам данных. Никакие классы не используются, только файл заголовка с объявлениями методов и исходный файл с реализацией. Я хочу переопределить эти методы, чтобы исключить доступ к БД во время модульного тестиров...