Только хочу увидеть код стиля Allman и сохранить код стиля K & R - PullRequest
26 голосов
/ 29 июля 2011

Один из наших разработчиков решил, что он будет диктовать другим разработчикам, как люди должны форматировать свой исходный код.

Сам я твердо верю, что отступы в стиле Аллмана лучше, чем у K & R.

Форматирование стилей похоже на религию, всегда есть те, которые не согласны. Независимо от того, сколько доказательств доказано, что одно лучше другого, люди не примут его.

Итак, я хочу, чтобы каждый раз, когда я открывал файл в Eclipse, он форматировал исходный код, чтобы я мог взглянуть на красивый код. Каждый раз, когда я сохраняю, он должен форматироваться в соответствии с диктуемым стилем в офисе.

Я думаю, я в порядке, если я делаю это вручную и имею две горячие клавиши для этого. Ctrl-Alt-PgUp: мой путь Ctrl-Alt-PgDown: high way

Горячая клавиша, вероятно, хороша, потому что тогда я проверяю, что все хорошо, а не происходит незаметно за кулисами.

Eclipse имеет опцию единого формата. Что мне нужно, так это два стиля форматирования и сопоставить их каждому с помощью сочетания клавиш. Возможно ли это, и если да, то как?

Ответы [ 3 ]

8 голосов
/ 19 июня 2016

При всем моем уважении к Майку, если вы не можете победить их, присоединяйтесь к ним. В самом деле, научитесь терпеть безобразие, как советует Джня. Я даю этот совет, проведя всю карьеру, спокойно сражаясь в этой битве.

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

Исходя из моего собственного анекдотического исследования, основное преимущество для K & R, которое чаще всего упоминается, помимо уважения к более раннему прецеденту, заключается в том, что K & R - это стиль, предпочитаемый теми, кто любит видеть больше кода на одном экране. Да, это правда, это главная причина. Плотность кода. Я думал, что эта проблема умерла бы своей окончательной смертью, как только в начале 90-х мы миновали экраны консоли для персонажей 80 x 25 символов, но, увы, но, похоже, это не имело значения. Поэтому для тех, кому нравится плотность кода, чтобы они могли видеть больше кода на одном экране за раз, мы страдаем с миллионами строк кода в стиле K & R. * Вздох *

Итог: Вы не можете выиграть религиозную войну. Это не стоит усилий. Находясь в Риме, делайте так, как делают римляне, и просто учитесь жить с тем, что есть. Это проблема, которая поражает нас психологически, потому что она как бы связана с властью и контролем. Но мы все понимаем, что некоторые вещи у нас просто не имеют законной власти или контроля, поэтому пусть эти вещи будут и учатся адаптироваться. Это действительно правильный подход к вашей карьере разработчика программного обеспечения.

7 голосов
/ 29 июля 2011

Ну, похоже, вековые дебаты вернулись. К сожалению, Eclipse JDT UI пока не поддерживает применение различных форматеров кода.

Есть ошибка № 45423 , которая предназначена для решения этой проблемы. Пока эта ошибка остается нефиксированной, лучшим обходным решением будет применение форматера в хуке фиксации, поскольку каждый проект связан со своим собственным форматером; Вы даже не можете выбрать другой форматер для применения к действию сохранения файла (Настройки -> Java -> Редактор -> Сохранить действия). Честно говоря, я не думаю, что сочетания клавиш бы сработали.

Также, возможно, стоит изучить вопрос об использовании Questoid Code Formatter , который, похоже, является ближайшим (или единственным) плагином для поддержки ваших потребностей. Я не пытался использовать это; Я только что прочитал описание на Eclipse Marketplace.

6 голосов
/ 29 июля 2011

Мой совет: просто научись терпеть безобразие. Если ваша функция «сравнить с историей в SCM» не очень хороша, слишком легко получить ложные различия при форматировании.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...