Что состоит в том, чтобы форматировать код надлежащий путь?

Вы используете Logger в своем коде для регистрации сообщения. Appender - это объект, прикрепленный к Logger для записи сообщения в конкретную цель. Есть FileAppender для записи в текстовые файлы или ConsoleAppender для записи в Консоль. Для получения дополнительной справки вам нужно показать свой код настроек Logger и Appender.

, пожалуйста, прочитайте учебник для лучшего понимания взаимодействия Logger и Appender.

19
задан GEOCHET 12 March 2009 в 14:23
поделиться

21 ответ

Я запустил после Microsoft Design Guidelines, найденной здесь:

Руководство по проектированию для Разработчиков Библиотеки классов

0
ответ дан 30 November 2019 в 01:50
поделиться

Я не собираюсь начинать предлагать любые специфические особенности. Существует много хороших предложений здесь и в другом месте в межсети.

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

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

0
ответ дан 30 November 2019 в 01:50
поделиться

Я следую Инструкции Microsoft для C#.

Редактирование : стандарт для C# , не борются с IDE. Если Вы совершите нападки CTRL K+D, то IDE автоматически поместит пустые строки промежуточные секции кода.

Для продолжения это при рассмотрении примера кода C# на MSDN или где-нибудь еще обычно существует пустая строка, промежуточная каждая логически размещенная группа. Таким образом, будет пустая строка после всех Ваших членских переменных, пустая строка после каждого метода, и т.д.

В ответ на комментарии, выражающие шок и ужас, что я использую IDE для программирования C#:

<час>

НАСТОЯЩИЕ ПРОГРАММИСТЫ

19
ответ дан 30 November 2019 в 01:50
поделиться

По-моему, добавление пробела к Вашему коду является подсказкой, что необходимо разделить функцию на меньшие части. Чистка Вашего кода путем добавления пробелов предпочтительна для длинного списка мили неразделенных строк. Чистка Вашего кода путем выделения меньших функций лучше.

1
ответ дан 30 November 2019 в 01:50
поделиться

Я просто работал над некоторым кодом, который входит в противоположное направление; каждый оператор разделяется от следующего пустой строкой. Авторам также понравилось использовать четыре строки комментария, выровненного по правому краю в столбце 60 вместо короткого комментария, расположенного с отступом на уровне кода. Трудно читать, и утомительный для фиксации. Другая функция кода (C код), повреждение от предыдущего случая 'присоединяется' к случаю следующего, но существует пустая строка после случая, разделяя его от его кода. Ick!

Пустые строки вокруг блоков кода хороши. Не наличие слишком многих блоков кода в единственной функции хорошо. Пустые строки вокруг каждой строки кода неприятны. Слишком много, или слишком мало, хорошей вещи плохая вещь.

2
ответ дан 30 November 2019 в 01:50
поделиться

1) я соглашаюсь с Вами о межстрочном интервале

2) В моем офисе существует большое отсутствие межстрочного интервала, потому что "Вы добираетесь для наблюдения большего количества кода на одной странице тот путь". Они также помещают несколько операторов на одну строку и (по моему скромному мнению), используют?:... Я ненавижу его.

3) я действительно не соглашаюсь с фразой, "Вот почему он - учитель". как (исключая) учителем, я должен сказать, что понизил бы людей для того, чтобы не помещать пространство между разделами, прежде чем я снял точки для помещения пространства. Я не думаю, что сделал также. Моя точка - то, что его являющийся задницей является ортогональным к тому, что он был учителем. (РЕДАКТИРОВАНИЕ: тот раздел был отредактирован из оригинала, но я уезжаю, это здесь для поддержания правила 3...)

не порочат учителей!

2
ответ дан 30 November 2019 в 01:50
поделиться

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

2
ответ дан 30 November 2019 в 01:50
поделиться

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

/* This section preps the widgets for display */
block 
of some 
code

/* This section passes the widgets to the display handler */
and 
so 
on

Помнят, что большая часть кода будет много раз читаться по it’s жизни так что-либо, что можно сделать для создания жизни легче для будущих специалистов по обслуживанию, великое плюс.

2
ответ дан 30 November 2019 в 01:50
поделиться

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

Вот метод, который я просто скопировал и вставил из проекта:

public static void Startup(bool startupUser)
{
    URI = "";
    AutoComplete = new AutoCompleteWrapper();
    SessionToken = Guid.Empty;
    ExternalDataSetLock = new object();

    ConfigDS.Init();
    CalendarDS.Init();
    CalendarDSBuilder.Init();

    if (startupUser && UserName != null)
    {
        string autoCompleteFilename = Path.Combine(UserFolder, "autocomplete.xml");
        AutoComplete.Load(autoCompleteFilename);
    }
}

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

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

, Но милосердие, это не причина не использовать их.

0
ответ дан 30 November 2019 в 01:50
поделиться

Используйте небольшие методы, чтобы иметь низкое цикломатическая сложность . Высокая цикломатическая сложность в методах обычно означает, что Ваш метод должен быть разделен на несколько других sub методы, которые будет более легче прочитать, и более легче протестировать!

я думаю, что Ваш код стоит перед этим видом проблемы.

Обычно метод с 100 + строки являются слишком большими и слишком сложными, и затем должны быть пересмотренными.

подводя итоги, вместо того, чтобы взломать код с пробелами строки, повредите его в отдельные методы...

2
ответ дан 30 November 2019 в 01:50
поделиться

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

3
ответ дан 30 November 2019 в 01:50
поделиться

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

3
ответ дан 30 November 2019 в 01:50
поделиться

Один из учителей, которых я имел, понизил одно из моих присвоений, потому что я расположил свой код с интервалами логически. Он сказал, 'Когда необходимо весь день читать код в реальном мире, у Вас не будет этого межстрочного интервала, и Вы будете благодарить меня. "

, Если Вы не разделяете блоки с 5 или 10 строками пробела (который свел бы любого с ума), Вы - преподаватель, просто задница.

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

, Хотя мы должны стремиться не записать длинные методы с 200 строками, его все еще очень характерный для всех наших сокращенных методов содержать больше чем один элемент потока управления, и мы должны понять, что вертикальный пробел так же важен как горизонтальный пробел в удобочитаемости. Можно удовлетворить "отдельный метод, единственная цель" принцип даже при помещении пустой строки между для цикла и оператором "if" в том же методе.

<час>

[Редактирование для добавления] И еще всего несколько комментариев:

1) Ее очень самонадеянное, что несколько человек в этом потоке предполагают, что OP пишет методы с 200 строками, или что существует необходимая корреляция между добавлением пустых строк и записью неаккуратных методов.

2), Для какой его ценность, в то время как преподаватель OP совершенно неправ в предположении, что его стандарты кодирования являются тем же везде. Однако необходимо рассматривать ход программирования как его собственный небольшой магазин программного обеспечения с его собственными стандартами, таким образом, код должен быть написан способом, который следует тем стандартам.

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

3
ответ дан 30 November 2019 в 01:50
поделиться

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

Как в стороне 73-летний программист, который записал большую часть этого Большого Комка грязи, все еще работает там, и его объяснение состоит в том, что двоичные файлы должны быть сохранены как можно меньше, я не потрудился проверять, были ли компиляторы 20 - 30 лет назад то, что неэффективный они не могли разделить пробел, но я несколько скептически настроен.

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

, Поскольку всегда лучший тест с подобными, которых касается удобочитаемость, должен захватить некоторую хитрую часть кода, который Вы написали и не смотрели на больше года и видите, можно ли получить схватывание на нем быстро. Если Вы можете тогда свой код быть лучше, чем большая часть того, что Вы будете видеть в реальном мире!

3
ответ дан 30 November 2019 в 01:50
поделиться

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

Кажется, что Ваш учитель является главным образом придурком. Как говорится, "те, кто может, делают; те, кто не может, <ударяют> на StackOverflow преподают".;)

3
ответ дан 30 November 2019 в 01:50
поделиться

Так как у нас нет примера Вашей персональной идеи "логического" межстрочного интервала, мы не можем действительно сказать, имели ли Вы право быть пониженными.

я склонен группировать подобные операторы или шаги в последовательности вместе прежде, чем расположить с интервалами (такие как объявления переменной, цикличное выполнение, и т.д.)

6
ответ дан 30 November 2019 в 01:50
поделиться

В основном то же самое, как все остальные говорят. КОБОЛ имел очень отличные правила о том, каковы предложение и абзац были. Я предполагаю, подсознательно, я следую за ними. Если у Вас есть большой оператор IF, Вы не помещали период до самого конца вложенного множества. Точно так же я поместил пустую строку после своего последнего}//конец, если

И да, я поместил//конец, если,//заканчиваются для,//материал метода конца там. Некоторым более красноречивым людям, которых я знаю, не нравится он, но мне нравится он. Они говорят, что Вы не должны делать свои операторы "if" огромными и что Вы, вероятно, кодируете неправильно, если Вы ПОТРЕБНОСТЬ //заканчивается, если материал, и я не делаю ПОТРЕБНОСТЬ она, но я действительно нахожу, что она помогает читать. Назовите меня старомодным, OCD, безотносительно.

4
ответ дан 30 November 2019 в 01:50
поделиться

Мое эмпирическое правило:

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

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

8
ответ дан 30 November 2019 в 01:50
поделиться

Я думаю, что делаю что-то подобное, но нет никаких твердых правил. Мне нравится код к расположенному с интервалами в 'абзацах', группировался/связывал логику.

Код без дополнительных пробелов строки ужасен для чтения.

11
ответ дан 30 November 2019 в 01:50
поделиться

Это кажется, что я располагаю с интервалами строки кода, подобные Вам.

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

кроме того, Вы найдете код как это в 'реальном мире'..., но он кажется, что у Вас есть более высокие стремления.;-)

РЕДАКТИРОВАНИЕ:... не более высокие стремления, чем 'реальный мир', но выше, чем посредственное дерьмо, распространенное в 'реальном мире'...., если у Вас, действительно оказывается, есть более высокие стремления, чем 'реальный мир' однако, Вы могли бы хотеть видеть профессионала.;-)

10
ответ дан 30 November 2019 в 01:50
поделиться

Я рассматриваю код как статью. Вы когда-либо пытались считать 2 страницы статьи, которая не имеет никакого расстояния между абзацами или межстрочного интервала в нем?

я соглашаюсь с Вами, не наличие пробелов строки между логическими группами просто безумно.

3
ответ дан 30 November 2019 в 01:50
поделиться
Другие вопросы по тегам:

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