Visual Studio. Tabs vs. Spaces Problematik
-
mngbd schrieb:
Bleib bei Tabs.
Schlechte Idee.
Dann sitzt du irgendwann vor einem Taschen-Gerät, und willst deinen Code dort patchen. Du bist schon stolz, daß du überhaupt einen Texteditor gefunden hast, und der hat die Tabs dann fix auf 8 Spaces. Und du bekommst Handgelenksschmerzen vom Scrollen.Quatsch. Spätestens wenn du Code auch austauschen willst (z.B. mit Kollegen), dann sind Tabs eigentlich Pflicht. Nur so hat jeder bei sich auch seine gewohnten Einstellungen. Und wer auf einem 'Taschengerät' programmiert, hat sowieso 'nen Schuss.
-
_matze schrieb:
Quatsch. Spätestens wenn du Code auch austauschen willst (z.B. mit Kollegen), dann sind Tabs eigentlich Pflicht.
das funzt aber nur, wenn jeder peinlichst darauf achtet. in der realität haste auch schon mal einen mix von tabs und spaces (weil man sie nunmal optisch schlecht auseinanderhalten kann). das sieht dann zwar bei dir gut aus, aber woanders ist es völlig daneben. daher z.b. benutze ich ausschliesslich spaces.
-
/fricky schrieb:
_matze schrieb:
Quatsch. Spätestens wenn du Code auch austauschen willst (z.B. mit Kollegen), dann sind Tabs eigentlich Pflicht.
das funzt aber nur, wenn jeder peinlichst darauf achtet. in der realität haste auch schon mal einen mix von tabs und spaces (weil man sie nunmal optisch schlecht auseinanderhalten kann). das sieht dann zwar bei dir gut aus, aber woanders ist es völlig daneben. daher z.b. benutze ich ausschliesslich spaces.
Also bei uns ist das quasi Pflicht und jeder hält sich dran. Ich war sogar einer derjenigen, die am Anfang immer Spaces benutzt haben. Aber zum Glück gibt es schöne Editoren wie UltraEdit, die dir mit einem Klick alle Spaces nach Tabs umwandeln. Mittlerweile ist mein Code komplett auf Tabs umgestellt, und so ist es auch am besten.
-
Und wer auf einem 'Taschengerät' programmiert, hat sowieso 'nen Schuss.
Vielleicht. Ich hab ne eigene Sprache dafür, damit ich nicht so viel tippen muss.
Aber ich meinte: patchen.
Sowas wie C Code auf C++ portieren.
Oder Dummy-Header einbauen.Spätestens wenn du Code auch austauschen willst (z.B. mit Kollegen), dann sind Tabs eigentlich Pflicht.
Nachdem die Struktur nicht vom Whitespace getragen wird, kann jeder einrücken, wie er will. Sieht man schon an solchen Dingen wie man: indent. Und eben sowas kann ja jeder benutzen. Viele IDEs haben sowas eingebaut.
daher z.b. benutze ich ausschliesslich spaces.
Ich auch. Aber eigentlich sollten wir viel stärker auf die automatische Formatierung setzen, und uns um die Eingabe nicht so viel scheren, glaube ich.
Und welcher texteditor stellt tabs fix auf 8 spaces?
Total Commander/CE
EDIT: Grammatik
-
aber wenn man nur spaces benutzt, muss es doch bei jedem gleich aussehen oder nicht? also ist es doch besser. bei tabs ist es immer editor abhängig!?
-
also?? schrieb:
aber wenn man nur spaces benutzt, muss es doch bei jedem gleich aussehen oder nicht? also ist es doch besser. bei tabs ist es immer editor abhängig!?
Du vergisst, dass es nicht bei jedem gleich aussehen soll. Das ist der Punkt bei der Geschichte. Ich mag einen Einzug von 2 Zeichen, mein Kollege nimmt aber einen 4er Einzug. Wenn er jetzt meinen Code bearbeiten muss, will er auch automatisch seinen gewohnten Einzug sehen, damit er sich nicht nach 'ner halben Stunde verzweifelt weinend unter'm Tisch verkriecht. Logisch, oder?
-
naja ich halte es immer so, dass ich mich an die formatierung dees jew. codes/projekts anpasse, indem ich irgendetwas editiere.
-
achso schrieb:
naja ich halte es immer so, dass ich mich an die formatierung dees jew. codes/projekts anpasse, indem ich irgendetwas editiere.
Das sowieso, muss ja einheitlich sein. Aber wie _matze schon erklärt hat, kommen bei Tabs als Einrückung (zur Ausrichtung natürlich trotzdem Spaces) alle auf ihre Kosten. Und entgegen frickys Darstellung klappt das meiner Erfahrung nach wunderbar im Team, da mixt niemand irgendwas.
-
Badestrand schrieb:
Und entgegen frickys Darstellung klappt das meiner Erfahrung nach wunderbar im Team, da mixt niemand irgendwas.
das wundert mich. dann benutzt ihr 'nen editor, der tabs und spaces sichtbar macht (z.b. spaces als ganz kleine pünktchen, tabs als eine feine linie oder so)?
ansonsten kann es ganz leicht passieren, dass man aus versehen mal tabs mit spaces vertauscht. ausserdem würde es mich nerven, wenn ich auf sowas achten müsste. ich programmiere zwar auch immer schön mit einrückung und achte darauf, dass der code optisch gut strukturiert ist, aber space- und tab-tasten benutze ich dabei je nach laune. mein editor fügt sowieso immer spaces ein.
-
/fricky schrieb:
Badestrand schrieb:
Und entgegen frickys Darstellung klappt das meiner Erfahrung nach wunderbar im Team, da mixt niemand irgendwas.
das wundert mich. dann benutzt ihr 'nen editor, der tabs und spaces sichtbar macht (z.b. spaces als ganz kleine pünktchen, tabs als eine feine linie oder so)?
Nein, wie Programmieren nicht mit MS-Word.
ansonsten kann es ganz leicht passieren, dass man aus versehen mal tabs mit spaces vertauscht.
Nö. Wir rücken einfach immer mit Tab ein.
ausserdem würde es mich nerven, wenn ich auf sowas achten müsste. ich programmiere zwar auch immer schön mit einrückung und achte darauf, dass der code optisch gut strukturiert ist, aber space- und tab-tasten benutze ich dabei je nach laune. mein editor fügt sowieso immer spaces ein.
Stell Dir einfach mal vor, Du würdest immer Tab benutzen.
-
volkard schrieb:
ansonsten kann es ganz leicht passieren, dass man aus versehen mal tabs mit spaces vertauscht.
Nö. Wir rücken einfach immer mit Tab ein.
cool, du bist ja auch'n richtiger coding-roboter *daumen_hoch*
volkard schrieb:
ausserdem würde es mich nerven, wenn ich auf sowas achten müsste. ich programmiere zwar auch immer schön mit einrückung und achte darauf, dass der code optisch gut strukturiert ist, aber space- und tab-tasten benutze ich dabei je nach laune. mein editor fügt sowieso immer spaces ein.
Stell Dir einfach mal vor, Du würdest immer Tab benutzen.
lieber nicht. oder doch, aber nur wenn ich die tab-breite auf 1 stellen darf.
-
/fricky schrieb:
das wundert mich. dann benutzt ihr 'nen editor, der tabs und spaces sichtbar macht (z.b. spaces als ganz kleine pünktchen, tabs als eine feine linie oder so)?
Oh Gott, nein!
fricky schrieb:
ansonsten kann es ganz leicht passieren, dass man aus versehen mal tabs mit spaces vertauscht.
Eigentlich nicht... Bei der Einrückung hab ich noch nie Fehler gesehen (Spaces statt Tabs), nur beim Ausrichten ein paar Mal Tabs statt Spaces. Aber so selten, dass es Wurst ist (abgesehen davon, dass man beim Speichern super-simple Tools dazwischenschalten kann, die alle nicht-einrückenden Tabs in Spaces umwandeln).
-
Badestrand schrieb:
fricky schrieb:
ansonsten kann es ganz leicht passieren, dass man aus versehen mal tabs mit spaces vertauscht.
Eigentlich nicht... Bei der Einrückung hab ich noch nie Fehler gesehen (Spaces statt Tabs), nur beim Ausrichten ein paar Mal Tabs statt Spaces. Aber so selten, dass es Wurst ist...
ok, dann ist's bei euch wohl in fleisch und blut übergegangen. naja, wenn man's gewohnt ist, ist es vielleicht nicht so schlimm. für mich 'freestyle-tipper' wäre das jedenfalls nix. ich finde's ja schon grausam, dass das linux make-utility an manchen stellen zwischen tabs und spaces unterscheidet.
ach ja, einige python-programmierer finden tabs auch doof: http://mail.python.org/pipermail/python-list/2003-January/183758.html
-
/fricky schrieb:
ok, dann ist's bei euch wohl in fleisch und blut übergegangen.
Ja, genauso wie das Semikolon am Ende einer Anweisung, vergisst ja auch keiner.
/fricky schrieb:
ach ja, einige python-programmierer finden tabs auch doof: http://mail.python.org/pipermail/python-list/2003-January/183758.html
Irgendwer findet immer irgendwas doof. Und die Argumentation in dem Beitrag aus deinem Link finde ich relativ schizophren. Du kannst bei ihm Worte "Tabs" und "Spaces" austauschen und schon hast du das selbe Problem, nur andersrum, also sind Spaces als Einrückung doof. Was er nicht erkennt: Bei einem vorliegenden Quelltext darf man nicht einfach davon ausgehen, dass er in Spaces oder Tabs eingerückt ist, man muss nachschauen. Ist ja auch kein Riesenaufwand.
-
nachtrag/kommentar zu dem link^^: die ganzen diskussionen tabs vs. spaces haben was mit c++ vs. C gemein. tabs sind auf den ersten blick vorteilhafter, aber dann...
-
Badestrand schrieb:
/fricky schrieb:
ok, dann ist's bei euch wohl in fleisch und blut übergegangen.
Ja, genauso wie das Semikolon am Ende einer Anweisung, vergisst ja auch keiner.
ein semikolon kann man sehen. 4 spaces in folge siehste aber nicht an, ob's ein tab, zwei tabs, ein tab und zwei speces, etc. ist.
-
Also wer 4 Zeichen einrückt, indem er ein Tab und 2 Spaces benutzt, gehört definitiv erschossen.
-
fricky schrieb:
ein semikolon kann man sehen. 4 spaces in folge siehste aber nicht an, ob's ein tab, zwei tabs, ein tab und zwei speces, etc. ist.
Ach, und die Leute vergessen reihenweise Semikolons, sehen es dann aber, springen an die Stelle zurück und fügen es hinzu? Aha.
-
_matze schrieb:
Also wer 4 Zeichen einrückt, indem er ein Tab und 2 Spaces benutzt, gehört definitiv erschossen.
so ähnlich. aber das ist sowieso alles egal, weil's fähige indent-tools gibt (wurde ja schon mehrfach erwähnt), die alles wieder reparieren. noch'n text: http://www.jwz.org/doc/tabs-vs-spaces.html
-
Badestrand schrieb:
fricky schrieb:
ein semikolon kann man sehen. 4 spaces in folge siehste aber nicht an, ob's ein tab, zwei tabs, ein tab und zwei speces, etc. ist.
Ach, und die Leute vergessen reihenweise Semikolons, sehen es dann aber, springen an die Stelle zurück und fügen es hinzu?
soll auch schon passiert sein. wenn nicht, meckert (hoffentlich) der compiler oder interpreter. bei 'nem tab/space-gemisch meckert der, der deinen code lesen soll, wenn er 'ne andere tab-breite verwendet als du.