Вам следует попытаться запретить написание строк длиннее 80 символов , а не разбивать их:
- Старайтесь минимизировать отступы путем преобразования условий и инкапсуляции кода.
Линус Торвальдс: если вам нужно более 3 уровней
отступ, ты все равно облажался,
и должен исправить вашу программу.
Это также имеет побочный эффект, делающий ваш код намного более читабельным, кроме того, что условия - это другие вещи, которые вы инкапсулируете, готовы к использованию в другом месте.
bool encapsulatedLongCondition() // Add some parameters
{
if (!condition1)
return false;
if (!condition2)
return false;
// ... (Other conditions)
return true;
}
if (encapsulatedLongCondition())
{
// ... (Call some methods, try not to introduce deeper if/loop levels!)
}
Упрощение вашего состояния с помощью булевой алгебры и попытка инвертировать условие и возвращаемое значение могут очень помочь. : -)
См. Также: Можете ли вы упростить этот алгоритм?
Смотрите также 2: Refactor for C # может помочь вам в этом. ; -) * 1 021 *
- Используйте определения типов и старайтесь избегать длинных имен
Простой пример, представьте, как долго будет использоваться Days без typedef с длинными именами в другом контейнере.
struct Day
{
// Some data
};
struct Event
{
// Some data
};
typedef list<Event> Events;
typedef map<Day, Event> Days;
// Some other container that would else be long...
- ... (Вы должны попытаться проанализировать, почему ваша строка длинная и найти решение для нее)
Надеюсь, вы поняли основную идею, так что вам не нужно придумывать грязный разрыв строки. ; -)
Единственное место, где я видел бы появление длинных строк - это прототипы ваших функций или при их вызове, там вы должны просто попытаться разбить после последней возможной запятой и продолжить на следующей строке. Вместо того, чтобы делать это после каждой и тратить несколько строк, делая прокрутку раздутой, и ваша функция выделяется слишком сильно ... Вы можете поместить возвращаемый тип в строку перед именем функции, если вам часто приходится видеть эти длинные строки.
void longFunctionName(ParameterType1 parameter1, ParameterType2 parameter2,
ParameterType3 parameter3, ParameterType4 parameter4)