Це незручний інтервал певного типу стилю?


9

Читаючи інший код програміста, він використовує формат, якого я ніколи не бачив. EG

    namespace MyNs.HereWeAre
         {//tab here for some reason
         public class SomeClass
               {//here's another tab
               public string Method()
                    {//yet another tab
                    string _variable = "";//no tab implementation
                    return _variable;
                    }
               }//eof - class  (Yes these eof comments are on every file)
        }//eof - namespace
// eof - file

Я визнаю ... цей код мене злить. Досягти цього стилю важко. Потрібно боротися з форматом за замовчуванням, який надає візуальна студія IDE.

Я міг проковтнути цю таблетку трохи простіше, якби знав, що є вагома причина цього стилю. Цей стиль походить від якоїсь іншої мови програмування / IDE?


5
Це просто химерно. За свої 18 років розвитку я ніколи не бачив цієї конвенції.
17 від 26

5
Якби мені довелося здогадуватися, я б сказав, що програміст - це перетворювач Python, який злегка засмучений необхідними дужками і взагалі використовується для відступу всіх підтоків синтаксису.
Теластин

21
CTRL K + CTRL D!
RYFN

2
@Zeus - О мій боже, що це заощадить мені стільки часу для вирішення цього нетрадиційного форматування !! Ви повинні отримати кілька пунктів відповіді за це.
P.Brian.Mackey

1
Цей ярлик для переформатування (Ctrl K + Ctrl D) також працює у файлах HTML та інших форматах у Visual Studio.
Oded

Відповіді:


19

Так: http://en.wikipedia.org/wiki/Indent_style#Whitesmiths_style

Стиль Уайтсмітса, який також меншою мірою називають стилем Вішарта, сьогодні рідше зустрічається ... Спочатку він використовувався в документації для першого комерційного компілятора C - Whitesmiths Compiler . Він був також популярний у перші дні Windows, оскільки його використовували у трьох впливових книгах програмування Windows, Посібнику програміста по Windows від Durant, Carlson & Yao, Програмуванні Windows від Petzold та Техніках програмування енергії Power 3.0 від Norton & Yao. .

Цей стиль ставить дужку, пов’язану з оператором керування, у наступному рядку з відступом. Виписки в дужках відступають до того ж рівня, що і дужки ...

Переваги цього стилю подібні до стилів Allman в тому, що блоки чітко виокремлені від контрольних операторів. Однак у стилі Whitesmiths, блок все ще візуально пов'язаний з його оператором управління, а не схожий на неспоріднений блок коду, оточений пробілом. Ще одна перевага полягає в тому, що вирівнювання дужок з блоком підкреслює той факт, що весь блок є концептуально (як і програмно) єдиним складеним твердженням. Крім того, відступ брекетів підкреслює, що вони підпорядковані контрольній заяві.

Запропонований недолік цього стилю полягає в тому, що кінцева дужка більше не вирівнюється із заявою, до якої вона концептуально належить. Однак фіксуюча дужка належить до вступної дужки, а не до контрольної заяви ...

Це я ніколи не бачив, дякую IPU.

Eclipse має вбудований у стилі коду Whitesmith для c ++ ... ви можете бути накручені Java, оскільки всі повинні використовувати той самий стиль на цій мові.


4
ой гм, що означає "дякую IPU"? Google не скаже мені ...
amara

4
Невидимий рожевий Єдиноріг. en.wikipedia.org/wiki/Invisible_Pink_Unicorn
Скотт C Вілсон

Стиль Whitesmiths не включає вкладки в кінці рядка. Вкладки в будь-якому місці, крім самого початку рядка, є злими і їх потрібно вбити вогнем.
тдаммери

6

Хоча стиль кодування вашого колеги химерний, некрасивий і важко читається:

  1. якщо у вас немає стандартів кодування, то їх форматування є таким же дійсним, як і будь-яке.

  2. якщо ви переформатуєте їх код щоразу, коли ви торкаєтесь написаного ними файлу, вам буде дуже важко відслідковувати зміни - якщо ви виконаєте різницю за допомогою VCS, то багато, якщо не всі рядки коду будуть змінені.

Ось чому ви повинні мати стандарти кодування, це полегшує всім знати, що вони повинні робити, і простіше виправдати переформатування, якщо вони не дотримувалися цього.

Якщо вони все ще працюють у вашій компанії, ви намагалися поговорити з ними про це?


Ця людина вже давно не минув мого часу. Тепер ми переходимо до керівних принципів дизайну рамок мікрософт.
P.Brian.Mackey

9
У такому випадку я рекомендую перевірити переформатування коду як окрему реєстрацію (наприклад, Ctrl K + Ctrl D) перед внесенням змін (щоб полегшити відстеження конкретної зміни).
Брайан
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.