myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
   » Plugin für Firefox
   » Plugin für IE
   » Gadget für Windows
» Regeln
» Wie poste ich richtig?
» Datenschutzerklärung
» wbb-FAQ

Mitglieder
» Liste / Suche
» Stadt / Anleitung dazu
» Wer ist wo online?

Angebote
» ASP.NET Webspace
» Bücher
» Zeitschriften
   » dot.net magazin

Ressourcen
» guide to C#
» openbook: Visual C#
» openbook: OO
» MSDN Webcasts
» Search.Net

Team
» Kontakt
» Übersicht
» Wir über uns
» Impressum

» Unsere MiniCity
MiniCity
» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Gemeinschaft » Smalltalk » Wie mit altem, auskommentierten Sourcecode umgehen?
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

Wie mit altem, auskommentierten Sourcecode umgehen?

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
HeikoAdams HeikoAdams ist männlich
myCSharp.de-Mitglied

images/avatars/avatar-4083.jpg


Dabei seit: 19.05.2017
Beiträge: 19
Entwicklungsumgebung: Visual Studio 2010,2017
Herkunft: Coburg


HeikoAdams ist offline

Wie mit altem, auskommentierten Sourcecode umgehen?

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo,
ich hatte gerade eine kleine Grundsatz-Diskussion mit einem Kollegen. Grund war, dass das Programm das hier intern eingesetzt wird voll von teilweis seit Jahren auskommentiertem Code ist.

Ich war der Meinung, das der weg kann, weil die Sourcen eh im git liegen und Code der auskommentiert ist so gut wie immer weg kann.

Er (Webdesigner) war der Meinung, ich sollte den Code stehen lassen, da man ja nie weiß, ob er irgendwann nochmal benötigt wird.

Ich hab ihn dann gefragt, ob er auch Pizzastücke wochenlang im Kühlschrank lagert, weil er sie ja eventuell noch mal essen will großes Grinsen

Wie ist Eure Meinung zu dem Thema?
19.05.2017 15:07 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
LaTino LaTino ist männlich
myCSharp.de-Poweruser/ Experte

images/avatars/avatar-1871.jpg


Dabei seit: 03.04.2006
Beiträge: 2.689
Entwicklungsumgebung: VS 2008 / VS 2017 / VS Code
Herkunft: Thüringen


LaTino ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Zitat von HeikoAdams:
Ich war der Meinung, das der weg kann, weil die Sourcen eh im git liegen und Code der auskommentiert ist so gut wie immer weg kann.

This. Kenne aber auch so ein paar Messies, die am liebsten nie was löschen würden, sondern nur auskommentieren (und natürlich noch Kommentare dazu, WARUM etwas auskommentiert wurde).

LaTino
19.05.2017 15:14 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Sir Rufo Sir Rufo ist männlich
myCSharp.de-Mitglied

images/avatars/avatar-3523.jpeg


Dabei seit: 06.07.2014
Beiträge: 746
Entwicklungsumgebung: VS2017
Herkunft: Stadthagen


Sir Rufo ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Ist wohl eher eine Glaubensfrage, aber jede Hinterlassenschaft birgt auch eine Botschaft und wenn die präsent ist springt die auch ins Auge.

Liegen die alten Pizza-Stücke noch im Kühlschrank, dann weiß ich, welche ich schon mal probiert habe und anhand der Menge der Hinterlassenschaft könnte ich ableiten, ob mir diese geschmeckt hat.

Noch sinnvoller wäre ein Hinweis, warum da noch was herumliegt (hat nicht geschmeckt oder war voll lecker aber ich war leider schon satt).

Im Source geht das ja noch einfacher mit den Kommentaren. Mit Regions kann man die Teile auch ausblenden, wenn die ansonsten stören.

Es ist also eher der generelle Umgang mit dem Auskommentieren und wie sinnvoll es ist den alten Code noch stehen zu lassen (haben wir so schon mal versucht, war aber doof weil und nicht mehr so machen).

Als Alternative kann man aber auch ein internes Wiki aufbauen mit einer DoAvoidThis Abteilung, wo man diese Erkenntnisse sammelt und entsprechend untereinander verlinkt (Source->Wiki, Wiki->Git-Commit)

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Sir Rufo am 19.05.2017 15:23.

19.05.2017 15:17 Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

images/avatars/avatar-2981.png


Dabei seit: 20.07.2008
Beiträge: 10.277
Herkunft: Süddeutschland


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Auskommentierter Code erhöht den Aufwand von Code Reviews.

Auskommentierter Code ist für die faulen Entwickler, die meinen, dass sie einen Quick Rollback benötigen, falls sie was verhunzen.
Spätestens beim Merge in den master gehört es aber weg.

Zitat:
Er (Webdesigner) war der Meinung, ich sollte den Code stehen lassen, da man ja nie weiß, ob er irgendwann nochmal benötigt wird.

Prinzipiell eine falsche Argumentation.
Sicherlich gibt es gewisse Ausnahmen, die ein Stehenlassen rechtfertigen könnten, aber "wer weiß, vielleicht brauchen wir das ja nochmal" widerspricht jeglicher Vorgehensweise von Software Entwicklung.
Zudem: auch das erfüllt eben ein Quellcodeverwaltungssystem.

 C# : I hate commented out code
19.05.2017 15:35 Beiträge des Benutzers | zu Buddylist hinzufügen
gfoidl gfoidl ist männlich
myCSharp.de-Team

images/avatars/avatar-2894.jpg


Dabei seit: 07.06.2009
Beiträge: 6.320
Entwicklungsumgebung: VS 201[27]
Herkunft: Waidring


gfoidl ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo HeikoAdams,

Zitat:
eh im git liegen

Genau deshalb soll das auch raus. Sollte es doch wieder reinmüssen, so ist über den Log (der auch pro Datei geht), Blame, etc. ja leicht zu finden und wiederherzustellen.


mfG Gü
19.05.2017 16:06 Beiträge des Benutzers | zu Buddylist hinzufügen
chilic
myCSharp.de-Poweruser/ Experte

Dabei seit: 12.02.2010
Beiträge: 1.872


chilic ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Ich bin auch der Meinung Codeleichen gehören weg. Wenn man etwas aus welchem Grund auch immer für die Nachwelt festhalten will, gehört es kommentiert so dass jeder weiß warum das da steht. Selbst das sollte aber einen Grund haben, wer programmieren kann weiß auch wie er sich etwas selbst macht wenn es denn wirklich mal nötig sein sollte.
Einfach auskommentieren lässt mehr Fragen offen als es hilft.
19.05.2017 17:00 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Coffeebean Coffeebean ist männlich
myCSharp.de-Team

images/avatars/avatar-3295.gif


Dabei seit: 25.08.2011
Beiträge: 1.909
Entwicklungsumgebung: VS 2005-2017, VS Code
Herkunft: Deutschland/Schweiz


Coffeebean ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo zusammen,

bin ebenfalls der Meinung, dass sowas raus sollte, weil es sowieso in der SourceCode-Verwaltung abgelegt ist. Man kann ja immer wieder zurück.

Das Problem mit auskommentiertem Code wurde auch schon angesprochen: Ein anderer Entwickler, oder ich selber, habe keine Ahnung mehr, warum ich den Code auskommentiert habe. Das Einkommentieren bringt ab einem gewissen Zeitpunkt auch nichts mehr, wenn anderweitig eine (bessere) Lösung implementiert wurde. Dann werden Dinge eventuell doppelt gemacht oder es knallt komplett. Am Ende vom Tag bringt es mehr Verwirrung als es klärt.

Auch Kommentare dazu sind heikel. Irgendwann schreibt einer "Bitte stehen lassen", was auch keinem hilft.

Also raus damit. Sourcecode-Verwaltungen sind so schlau, dass man da gut zurückgehen kann.

Gruss

Coffeebean
22.05.2017 07:42 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
bredator bredator ist männlich
myCSharp.de-Mitglied

images/avatars/avatar-155.gif


Dabei seit: 08.09.2010
Beiträge: 310
Entwicklungsumgebung: VS 2012 Ultimate


bredator ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Nachdem auskommentierter Code bei unserem Hauptprodukt fast im Umfang von laufendem Code vorhanden war, haben wir nach der Umstellung von SourceSafe auf TFS beschlossen, dass das Zeug in den Initial-Checkin zwar reinkommt, beim nächsten Checkin aber rigoros rausfliegt. Der Prozess ist nach wie vor im Gange, da es halt ein Projekt von ~2 Millionen LOC ist, aber die Richtlinie ist eindeutig: "Brauchen wir vielleicht nochmal" -> in den Lokus damit.

Es gibt lediglich eine Ausnahme, die für uns halt so eine Debug-Krücke ist. In den Unmengen C++-Code finden sich manchmal auskommentierte Blöcke, die bei Problemen wieder reingenommen werden beim Debuggen. Ja, kann man auch mal auf #ifdef umstellen, hatte bisher aber keiner Zeit dazu. Ist halt noch aus den 90ern übrig und wird sicher irgendwann in besseren Code gegossen, aber bis dahin ist es die (einzig)erlaubte Ausnahme von der Löschen-Regel.
22.05.2017 08:29 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
HeikoAdams HeikoAdams ist männlich
myCSharp.de-Mitglied

images/avatars/avatar-4083.jpg


Dabei seit: 19.05.2017
Beiträge: 19
Entwicklungsumgebung: Visual Studio 2010,2017
Herkunft: Coburg

Themenstarter Thema begonnen von HeikoAdams

HeikoAdams ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Zitat von bredator:
Nachdem auskommentierter Code bei unserem Hauptprodukt fast im Umfang von laufendem Code vorhanden war, haben wir nach der Umstellung von SourceSafe auf TFS beschlossen, dass das Zeug in den Initial-Checkin zwar reinkommt, beim nächsten Checkin aber rigoros rausfliegt.

So extrem ist es hier zwar noch nicht, aber es gibt schon auch einige Klassen, wo man sich durch seitenlange Kommentare scrollen "darf". Aber die werden jetzt auch von mir entsorgt, sobald sie mir vor die Flinte äh Maus kommen Augenzwinkern
22.05.2017 09:11 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 2 Monate.
Der letzte Beitrag ist älter als 2 Monate.
Antwort erstellen


© Copyright 2003-2017 myCSharp.de-Team. Alle Rechte vorbehalten. 18.08.2017 08:54