Czy to niezręczne odstępy to jakiś styl?

9

Czytając kod innego programisty, używa formatu, którego nigdy nie widziałem. NA PRZYKŁAD

    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

Przyznaję ... ten kod mnie denerwuje. Trudno jest osiągnąć ten styl. Trzeba walczyć z domyślnym formatowaniem zapewnianym przez studio graficzne IDE.

Mógłbym przełknąć tę pigułkę trochę łatwiej, gdybym wiedział, że istnieje dobry powód tego stylu. Czy ten styl wywodzi się z innego języka programowania / IDE?

P.Brian.Mackey
źródło
5
To jest po prostu dziwne. Przez 18 lat rozwoju nigdy nie widziałem tej konwencji.
17 z 26
5
Gdybym musiał zgadywać, powiedziałbym, że programista jest konwerterem Pythona, który jest lekko zaniepokojony potrzebą nawiasów klamrowych i jest przyzwyczajony do wcięcia wszystkich podtokenów składni.
Telastyn
21
CTRL K + CTRL D!
RYFN
2
@Zeus - O rany, który zaoszczędzi mi tyle czasu na rozwiązanie tego niekonwencjonalnego formatowania !! Powinieneś dostać za to kilka punktów odpowiedzi.
P.Brian.Mackey
1
Ten skrót do formatowania (Ctrl K + Ctrl D) działa również na plikach HTML i innych formatach w Visual Studio.
Oded

Odpowiedzi:

19

Tak: http://en.wikipedia.org/wiki/Indent_style#Whitesmiths_style

Styl Whitesmiths, zwany także w mniejszym stopniu stylem Wishart, jest dziś mniej powszechny ... Pierwotnie był używany w dokumentacji pierwszego komercyjnego kompilatora C, kompilatora Whitesmiths . Był również popularny we wczesnych latach systemu Windows, ponieważ był używany w trzech wpływowych książkach programistycznych Windows, Przewodniku programisty systemu Windows autorstwa Durant, Carlson & Yao, Programowaniu systemu Windows autorstwa Petzolda i Technikach programowania mocy systemu Windows 3.0 autorstwa Nortona i Yao .. .

Ten styl umieszcza nawias klamrowy powiązany z instrukcją sterującą w następnym wierszu, z wcięciem. Instrukcje w nawiasach klamrowych są wcięte na tym samym poziomie, co nawiasy klamrowe ...

Zalety tego stylu są podobne do zalet stylu Allmana, ponieważ bloki są wyraźnie oddzielone od instrukcji sterujących. Jednak w stylu Whitesmiths blok jest wizualnie połączony z instrukcją sterującą, zamiast wyglądać jak niepowiązany blok kodu otoczony białymi spacjami. Kolejną zaletą jest to, że wyrównanie nawiasów klockowych z blokiem podkreśla fakt, że cały blok jest koncepcyjnie (jak również programowo) pojedynczą instrukcją złożoną. Ponadto wcięcie nawiasów klamrowych podkreśla, że ​​są one podporządkowane instrukcji sterującej.

Sugerowaną wadą tego stylu jest to, że klamra końcowa nie pokrywa się już ze stwierdzeniem, do którego koncepcyjnie należy. Nawias zamykający należy jednak do nawiasu otwierającego, a nie do instrukcji sterującej ...

Ale nigdy tego nie widziałem, dziękuję IPU.

Eclipse ma wbudowany styl kodu Whitesmith dla c ++ ... możesz mieć problemy z Javą, ponieważ każdy powinien używać tego samego stylu w tym języku.

Edward Strange
źródło
4
oh um, co znaczy „dziękuję IPU”? Google mi nie powie ...
amara
4
Niewidzialny różowy jednorożec. pl.wikipedia.org/wiki/Invisible_Pink_Unicorn
Scott C Wilson
Styl Whitesmiths nie zawiera tabulatorów na końcu linii. Zakładki w dowolnym miejscu, z wyjątkiem samego początku linii, są złe i należy je zabić ogniem.
tdammers
6

Podczas gdy styl kodowania twojego kolegi jest dziwaczny, brzydki i trudny do odczytania:

  1. jeśli nie masz standardów kodowania, wówczas ich formatowanie jest tak samo ważne jak inne.

  2. jeśli sformatujesz ich kod za każdym razem, gdy dotkniesz pliku przez nich zapisanego, bardzo trudno będzie śledzić zmiany - jeśli wykonasz różnicę przy użyciu VCS, wówczas zmieni się wiele, jeśli nie wszystkie wiersze kodu.

Właśnie dlatego powinieneś mieć standardy kodowania, dzięki czemu każdy łatwiej będzie wiedzieć, co powinien robić, a także usprawiedliwić ponowne formatowanie, jeśli się tego nie trzymał.

Jeśli nadal pracują w Twojej firmie, czy próbowałeś z nimi o tym porozmawiać?

mward
źródło
Ta osoba dawno już minęła, b4 mój czas. Teraz kierujemy się wytycznymi dotyczącymi projektowania ram Microsoft.
P.Brian.Mackey
9
W takim przypadku przed dokonaniem zmian zalecam sprawdzenie formatowania kodu jako osobnego wpisu (np. Ctrl K + Ctrl D) (aby ułatwić śledzenie tej konkretnej zmiany).
Brian