Как перезагрузить .bash_profile из командной строки?

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

  • public final выглядит более чистым для неизменяемых типов.
  • Измененные типы могут быть изменены аксессуарами, даже если это не предназначено - в параллельных средах это может привести к множеству головных болей.
  • Не может быть конструктора без аргументов. Это важно, если вам нужны заводские методы (например, для LMAX Disruptor). Подобным же образом создание объектов с помощью отражения становится более сложным.
  • У получателей и сеттеров могут быть побочные эффекты. Использование public final ясно говорит программисту о том, что скрытая магия не возникает, и объект по сути немой:)
  • Вы не можете вернуть экземпляр оболочки или экземпляр производного класса в accessor. Опять же, это то, о чем вы должны знать, когда поле присваивается его значению. На мой взгляд, классы контейнеров не должны беспокоиться о том, что вернуться к ним.

Если вы находитесь в середине разработки, никакое руководство не останавливает вас, а проект изолирован или вы имеете контроль над всеми которые я предлагаю использовать public final для неизменяемых типов. Если вы решите, что позже вам нужны геттеры, Eclipse предлагает Refactor -> Encapsulate Field..., который автоматически создает их и настраивает все ссылки на это поле.

860
задан jaypal singh 11 May 2014 в 01:27
поделиться