Каковы некоторые имена классов, которые сигнализировали бы о потребности в рефакторинге? [закрытый]

Я не программист Lisp, но я думаю , это поможет.

В основном это - стиль программирования таким образом, что рекурсивный вызов является последней вещью, которую Вы делаете.

11
задан Community 23 May 2017 в 10:27
поделиться

11 ответов

Утилиты . Прочтите эту запись в блоге Криса Миссала , чтобы узнать, почему.

11
ответ дан 3 December 2019 в 02:20
поделиться

Думаю, этот вопрос следует рассматривать в более широкой картине выбора правильного имени для любого носителя. Когда моя жена просит меня достать это что-то из туалета, откуда мне знать, что она имеет в виду?

Может быть, объекты моего класса создают кнопки, так почему бы не назвать это ButtonFactory? Возможно, этот объект действительно управляет временем жизни временных файлов, поэтому назовем его TemporaryFileManager.

Проблема возникает, когда у вас недостаточно контекстной информации. Это особенно сложно при создании повторно используемых компонентов: мой TemporaryFileManager может быть подклассом общего класса Manager, а моя ButtonFactory может быть особым случаем WidgetFactory.

Пока имя описывает, что эта вещь в своем контексте Я в порядке. И это '

2
ответ дан 3 December 2019 в 02:20
поделиться

Мои наименее любимые идентификаторы в целом:

  1. С ошибками в написании. слова. GEM во всех вызовах API палитра записывалась как «паллета». Сводит с ума.
  2. Идентификаторы, по которым я не могу сказать, является ли символ 1 или l, или 0 или O.
  3. Джордж Карлин ' семь грязных слов.
4
ответ дан 3 December 2019 в 02:20
поделиться

1) Все, что меньше трех символов, действительно действует мне на нервы. Это действительно вредит читаемости, поскольку по крайней мере 3 символа обычно дают вам хотя бы одну гласную. Лично я стараюсь использовать как минимум 5 символов.

2) Одна моя любимая мозоль - это имена классов, заканчивающиеся на class (например, personClass или buttonClass), поскольку это как бы отнимает от того факта, что вы создаете объект , а не класс. Аналогичным образом создание экземпляров класса я считаю нормальным (например, blueButton, redLabel), так как его легче читать, но класс может сильно раздражать.

2
ответ дан 3 December 2019 в 02:20
поделиться

Перечисление плохих идей может занять какое-то время, просто я подумал о множестве плохих имен: Reader, Writer, Factory, Item, Timer, Reciever, Sender и т. Д. и т. д.

В основном, избегайте имен, которые не дают вам контекста для того, что представляет собой класс или его роль в более широкой картине. Это не обязательно должно быть когда-нибудь столь же чрезмерно, как IHelpToSendXMLDataToTheServer , но, возможно, XMLBroadcastUtil не будет ужасным. Некоторые люди даже доходят до добавления определенного префикса, суффикса к именам классов, чтобы указать, с каким модулем он работает. Однако я бы сказал, что это часть роли пространства имен / пакета.

1
ответ дан 3 December 2019 в 02:20
поделиться

Аннотация Шаблон Модель Завод Object

Все они действительно общие, и некоторые из них могут быть очевидны из определения класса. Другие, очевидно, лучше отмечены в небольшом фрагменте документации (простая ссылка на которую является одной из причин, чтобы полюбить resharper)

0
ответ дан 3 December 2019 в 02:20
поделиться

Все, что может переопределить стандартные классы (например: Comparator , Iterable и т. Д. В Java), если вы не понимаете и не намерены вызывать такого рода поведения.

0
ответ дан 3 December 2019 в 02:20
поделиться

Любое имя, содержащее символы, отличные от 7-битного ascii.

Я действительно не могу понять или даже редактировать символы хинди.

class हिन्दी:হিন্দী ঠার
{
  // argh.. 
}
8
ответ дан 3 December 2019 в 02:20
поделиться

Артикли ( The , A , An )

Местоимения и имена ( My , Их , Джон )

Номера, за исключением версий спецификации ( 2 , 3 , 5000 )

Пушистые прилагательные ( Быстро , Смарт , Хорошо , Лучше )

Иностранный язык, который большинство команды не понимает (Ελληνικά)

3
ответ дан 3 December 2019 в 02:20
поделиться

Этот

всегда плохой вызов.

1
ответ дан 3 December 2019 в 02:20
поделиться

Все, что предлагается в Как написать неподдерживаемый код .

1
ответ дан 3 December 2019 в 02:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: