Тривалий час я стверджував, що вони мають однакову цінність або настільки близькі до рівних, що можливий виграш, зробивши правильний вибір, був далеко, далеко, нижче вартості сперечатися про це.
Однак, важливо бути послідовними . Тому я сказав, давайте перекинемо монету і перейдемо до написання коду.
Я бачив, як програмісти чинили опір таким змін. Закінчуй з цим! Я багато разів перемикався в кар’єрі. Я навіть використовую різні стилі в своєму C #, ніж в моєму PowerShell.
Кілька років тому я працював над командою (~ 20 розробників), яка вирішила попросити інформацію, а потім прийняти рішення, а потім застосувати це по всій базі коду. У нас був би тиждень, щоб вирішити.
Багато стогонів і прикольних очей. Багато "мені подобається мій шлях, тому що це краще", але жодної речовини.
Коли ми вивчали точніші питання, хтось запитував, як вирішити цю проблему в стилі brace-on-the-line:
void MyFunction(
int parameterOne,
int parameterTwo) {
int localOne,
int localTwo
}
Зауважте, що не відразу очевидно, де закінчується список параметрів, і починається тіло. Порівняти з:
void MyFunction(
int parameterOne,
int parameterTwo)
{
int localOne,
int localTwo
}
Ми прочитали, як люди в усьому світі вирішили цю проблему, і виявили схему додавання порожнього рядка після відкритого дужки:
void MyFunction(
int parameterOne,
int parameterTwo) {
int localOne,
int localTwo
}
Якщо ви збираєтеся зробити візуальну перерву, ви також можете зробити це за допомогою дужки. Тоді ваші зорові перерви теж стають послідовними.
Редагувати : дві варіанти рішення "додаткової порожньої лінії" при використанні K&R:
1 / Введіть аргументи функції на відміну від тіла функції
2 / Помістіть перший аргумент у той самий рядок із назвою функції та вирівняйте подальші аргументи у нових рядках до цього першого аргументу
Приклади:
1 /
void MyFunction(
int parameterOne,
int parameterTwo) {
int localOne,
int localTwo
}
2 /
void MyFunction(int parameterOne,
int parameterTwo) {
int localOne,
int localTwo
}
/ Редагувати
Я все ще стверджую, що послідовність є важливішою, ніж інші міркування, але якщо у нас немає встановленого прецеденту , то шлях до наступного рядка - це шлях.