Könnte man nicht bei neuen Beiträgen automatisch alle Tabs in Codefragmenten durch z.B. 4 Leerzeichen ersetzen? Dann müsste man nicht immer, alle Tabs durch Leerzeichen ersetzen, bzw. der Code von Leuten welche das nicht machen, wäre leserlich.
Samuel K. schrieb: > Könnte man nicht bei neuen Beiträgen automatisch alle Tabs in > Codefragmenten durch z.B. 4 Leerzeichen ersetzen? Das würde nicht aufgehen, weil ein H-Tab nicht eine bestimmte Anzahl Leerzeichen ersetzt, sondern die nächste freie Ausgabe-Position im aktuell eingestellten TAB-Raster des Textbetrachters bzw. Druckers auswählt. > Dann müsste man nicht > immer, alle Tabs durch Leerzeichen ersetzen, Die GUIs sollten das können. In AVR-Studio kann man einstellen, dass die Tabs durch Leerzeichen ersetzt werden. So formatierte Quelltexte lassen sich mit jedem Textbetrachter vernünftig lesen. Und wenn man darauf achtet, dass die Zeilen nicht zu lang werden, dann lassen sich Quelltext-Auszüge auch vernünftig drucken. > bzw. der Code von Leuten > welche das nicht machen, wäre leserlich. Eben. Wer seine Quelltexte auch außerhalb seiner GUI vernünftig formatiert angezeigt wissen will, der stellt die Editor-Optionen entsprechend ein. ...
Hannes Lux schrieb: > Das würde nicht aufgehen, weil ein H-Tab nicht eine bestimmte Anzahl > Leerzeichen ersetzt, sondern die nächste freie Ausgabe-Position im > aktuell eingestellten TAB-Raster des Textbetrachters bzw. Druckers > auswählt. Mag sein, aber im Browser kann man sowieso keine Tabs schreiben und in Quelltexten kommen Tabs auch nur zur Einrückung vor. Also kann es ja nicht schaden.
Die Leserlichkeit würde das nicht erhöhen bei dem Wildwuchs, den man so sieht. Und ohne [code]-Tags bringt das eh nix. Wenn jemand Monster-Code postet, ist er selber schuld, wenn niemand darauf antwortet.
Hackt doch jetzt nicht darauf herum. Ich sehe in der Funktion nur Vorteile. Hannes Lux schrieb: > Eben. Wer seine Quelltexte auch außerhalb seiner GUI vernünftig > formatiert angezeigt wissen will, der stellt die Editor-Optionen > entsprechend ein. Es gibt viele Editoren ohne diese Funktion. Johann L. schrieb: > Wenn jemand Monster-Code postet, ist er selber schuld, wenn niemand > darauf antwortet. Wenn der Code nun aber leserlich wird, könnte auf den Thread geantwortet werden und dadurch wird dieser sich evtl. für Dritte später als nützlich erweisen. Ein antowrtloser Thread dagegen ist nutzlos. Die Funktion dürfte nicht schwer einzubauen zu sein: Die Codeformatierungfunktion kann beim Quelltext durchsuchen gleich die Tabs mitersetzen.
Samuel K. schrieb: > Es gibt viele Editoren ohne diese Funktion. Muss man sie benutzen? Meine ersten Programme waren auch beschissen formatiert, wenn man sie außerhalb AVR-Studio betrachtet. Es hat einige Zeit gedauert, bis ich den Schalter zum Ersetzen der Tabs durch Spaces gefunden habe. Samuel K. schrieb: > Hackt doch jetzt nicht darauf herum. Wer hackt den hier darauf herum? Das bist doch wohl eher Du... > Ich sehe in der Funktion nur > Vorteile. Die sehe ich nicht. Als Autor eines Quelltextes möchte ich selbst bestimmen, wie er formatiert wird. Da möchte ich keinen Automaten dran rumfummeln lassen. Denn meist wird da mehr Schaden als Nutzen gemacht. Johann L hat schon recht, wer zu faul oder zu blöd ist, seinen Quelltext halbwegs lesbar zu formatieren, der muss sich nicht wundern, wenn die Hilfe ausbleibt. ...
Hannes Lux schrieb: > Die sehe ich nicht. Als Autor eines Quelltextes möchte ich selbst > bestimmen, wie er formatiert wird. Da möchte ich keinen Automaten dran > rumfummeln lassen. Denn meist wird da mehr Schaden als Nutzen gemacht. a) Du hast keine Tabs in deinem Quelltext -> Dann wird dein Text nicht verändert b) Es sind Tabs darin enthalten -> Dann würden sie ihn sowieso unleserlich machen, also macht das Ersetzen nichts. c) Man könnte so etwas wie [codet] einführen.
Samuel K. schrieb: > c) Man könnte so etwas wie [codet] einführen. Besser: Erweitert mit der Tab-Angabe. [code_t=2] oder [code_t=8] ...
@ Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite >Besser: Erweitert mit der Tab-Angabe. >[code_t=2] oder [code_t=8] ... IMO zu viel Schnick Schnack. Ein sinnvoller Hinweis in einem Artikel (Netiquette?) auf das Problem und wie man es ausserhalb der Forensoftware löst ist IMO besser. MFG Falk
Falk Brunner schrieb: > IMO zu viel Schnick Schnack. D'accord. Mein Beitrag bezog sich nur darauf, daß falls der Schnick "Tab-Unterstützung" eingeführt werden sollte (was ich bezweifle, Andreas hat gewiss sinnvolleres zu tun), dann auch der Schnack "konfigurierbare Tab-Weite" nötig ist.
Samuel K. schrieb: > Hackt doch jetzt nicht darauf herum. Ich sehe in der Funktion nur > Vorteile. > Hannes Lux schrieb: >> Eben. Wer seine Quelltexte auch außerhalb seiner GUI vernünftig >> formatiert angezeigt wissen will, der stellt die Editor-Optionen >> entsprechend ein. > Es gibt viele Editoren ohne diese Funktion. Dann bin ich verwöhnt. Bis jetzt hatte noch jeder Programm-Editor eine Funktion "Tab durch Spaces ersetzen". Das ist mir deswegen soi geläufig, weil ich sie bei einem neuen Editor immer als allererstes einschalte (gleich nach dem Abschalten der automatischen Einrückung) Eine automatische Ersetzung fände ich trotzdem gut. Nur wird es leider nix bringen. Wie Falk und Rufus schon sagten: Wer auf seine Codeformatierung achtet, hat Tabs sowieso schon ersetzt. Und wer sich der Tab-Problematik nicht bewusst ist, bei dem wird es immer beschissen aussehen. Wenn Tab erhalten bleiben, hat man eventuell noch die Chance durch experimentelles ausprobieren die richtige Tab-größe herauszufinden. Aber ehrlich: wenn Code durch Tab höllisch entstellt ist, sinkt bei mir die Bereitschaft zur Code-Analyse rasend schnell in den Keller.
> alle Tabs in Codefragmenten durch z.B. 4 Leerzeichen ersetzen
Ein TAB war schon immer ein Vorrücken auf die nächste 8er Position.
4 wäre blöd.
hmm, ich dagegen hasse code, der mit leerzeichen eingerückt ist - ich bevorzuge tabs. unter anderem auch deshalb, weil ich damit einfach ganze blöcke mit einem tastendruck (bzw. zwei) um eine ebene ein- bzw. zurück rücken kann wenn z.b. ein if dazukommt oder wegfällt. gerade bei einrückung tabs/leerzeichen und der zurgeöhrigen schrittweite gilt ganz besonders "suum cuique", das wird man nie allen recht machen können... (ausser vielleicht in fortran und anderen sprachen mit fix vorgegebenen formatierungsvorgaben)
> weil ich damit einfach ganze > blöcke mit einem tastendruck (bzw. zwei) um eine ebene ein- bzw. zurück > rücken kann wenn z.b. ein if dazukommt oder wegfällt. Kaum. Wenn das dein Editor macht und kann, dann nur, weil er IN JEDER ZEILE ein Zeichen löscht bzw. einfügt. Dann kann er auch 4 Zeichen löschen bzw. einfügen, nämlich Leerzeichen. Dazu braucht man also keine TABs. q.e.d.
MaWin schrieb: > Kaum. > > Wenn das dein Editor macht und kann, > dann nur, weil er IN JEDER ZEILE ein Zeichen löscht bzw. einfügt. > Dann kann er auch 4 Zeichen löschen bzw. einfügen, nämlich Leerzeichen. Hast Du auch schon mal mit Backspace gearbeitet? Man muss auch mal in die andere Richtung denken. Also ich lösche nicht gern jedes Zeichen einzeln. Ein Editor, der gleich n-Zeichen löscht ist recht unbrauchbar. Gibt es auch, aber da muss man oft erst wieder in die andere Richtung mit Leerzeichen auffüllen (wie beim Tab). Da ich aber auch manchmal mit wenig intelligenten Editoren arbeite (und nicht jeder andere Benutzer meines Codes hat meine 2-Tab) - nehme auch ich Leerzeichen.
Mit solchen Editoren kannst du aber nicht "ganze blöcke mit einem tastendruck (bzw. zwei) um eine ebene ein- bzw. zurück rücken" WENN du also nächsten mal ein ABER in die Diskussion einwirfst, prüfe vorher ob dein Beitrag überhaupt zu dem passt, was die Erwachsenen vorher gesagt haben.
MaWin schrieb: > Mit solchen Editoren kannst du aber nicht > > "ganze blöcke mit einem tastendruck (bzw. zwei) > um eine ebene ein- bzw. zurück rücken" Natürlich kann man. Was redest du da? Funktioniert genau so, wie mit Tabs auch. Nur das halt x Leerzeichen anstelle von einem Tab eingefügt werden.
Wer ist denn jetzt "Klaus" ? Der dritte Name von "Auch Tabs sind wichtig" und "Daniel F" oder warum glaubt er zu wissen was Daniles Editor kann und Auch Tabs sind wichtig Editor nicht kann? Mann Leute, entweder ihr leidet unter gespaltener Persönlichkeit und kommt mit euren dutzenden Nick-Names durcheinadner, oder ihr palavert ohne Hirn und Nachdenken. Zusammenfassend: Ein Editor, der ganze Blöcke einrücken/ausrücken kann, der kann das egal ob die Blöcke mit Tabs oder Leerzeichen erstellt wurden. Ein Edior, der nicht auf Tastendruck ganze Blöcke einrücken oder ausrücken kann, bei dem hilft es auch nichts, wenn die Blöcke mit Tabs statt Leerzeichen erstellt wurden.
Und denkt dran: Wenn ihr mit Tabs einrückt dann stellt sicher, dass Zeilen die zwischendurch mal umbrochen werden und in denen der Lesbarkeit halber Elemente untereinander ausgerichtet werden sollen nur genau die Anzahl von Tabs bekommen, die ihrer syntaktischen Schachtelung entsprechen und der Rest dann mit Spaces aufgefüllt wird. Ansonsten geht bei einer unterschiedlichen Tab-Größe jede Ausrichtung kaputt. Also so: (mit Punkten statt Spaces)
1 | <tab>if (condition1 && |
2 | <tab>....condition2) { |
3 | <tab><tab>dosomething (argument1, |
4 | <tab><tab>.............argument2); |
5 | <tab>} |
Viele Grüße, Simon
Simon Budig schrieb: > Wenn ihr mit Tabs einrückt dann stellt sicher, dass [...] > Elemente [, die] untereinander ausgerichtet werden sollen nur genau die Anzahl > von Tabs bekommen, die ihrer syntaktischen Schachtelung entsprechen und > der Rest dann mit Spaces aufgefüllt wird. Genau mit diesem Trick lässt sich mit Tabs sinnvoll arbeiten - ich persönlich bevorzuge Tabs, das soll jetzt aber keine Diskussion losbrechen. Zum Thema: Ich habe mal ein PHP-Script geschrieben, welches Tabs automatisch durch Leerzeichen ersetzt, sodass immer bis zur nächsten Ausgabeposition geschoben wird. Habe das damals für ein Mini-GIT-Frontend benötigt. Auch wenn das Forum in Ruby geschrieben ist, wäre ich bei Interesse bereit, Andreas den Code zur Verfügung zu stellen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.