Try
Catch (Ex as Exception)
//Hier wird absichtlich nichts gemacht nach dem Motto: Wenn man keinen Fehler sieht, ist auch keiner passiert :-(
end try
|
|
| 1 |
Scheiße, mir sind die Bewertungen für heute ausgegangen. (max. 30 pro Tag). Auf jedenfall sehr Unterhaltsam der Thread.
– Floyd 13.04.2011
|
|
|
Oh das ist schade. Ich freue mich immer über eine faire Bewertung. Vielleicht morgen? :-)
– Thomas Sczyrba 13.04.2011
|
||
|
Du hast schon ;) Nur für die anderen bleibt nichts mehr übrig.
– Floyd 13.04.2011
|
define("while","until");int i = 0;
do
{
// something
i++;
}until(i < 1000);
|
|
|
|
| 2 |
Das kenn ich auch. Hauptgrund für die mangelnde akzeptanz ist meistens mangelndes Verständnis. Die Frage ist nun wie man das "Verständis" am besten bei den Kollegen hervorrufen kann?! Das ist immer wieder eine schwierige Aufgabe.
– Thomas Sczyrba 13.04.2011
|
|
| 6 |
Erklären, vermitteln - und später reviewen. Das ist für uns Architekten halt das täglich Brot.
Oder möglicherweise auch (in diesem Fall) die Implementierung internal machen und eine Factory spendieren, die nur das Interface herausgibt. – Matthias Hlawatsch 13.04.2011
|
|
| 1 |
Da Müssen klare Richtlinien her, die auch als Abteilungsleiter gestützt werden müssen.
– Gentlehag 15.04.2011
|
if (DateTime.Now.Date.ToString() == "14.04.2011 00:00:00")
Console.WriteLine("Ich bin ein Idiot und sollte den Beruf wechseln!");
//(Jo ich benamse bei solch kleinen Sachen oder demonstrationen einen Integer mit z1)
int z1 = GetIntValue();
if (z1.ToString() == "3")
Console.WriteLine("Ich bin ein Idiot und sollte den Beruf wechseln!");
//Jojo, ich weiß da steht 2mal es gleiche, aber ich schreib jetzt ka extra Methode ;)
|
|
++++++++++
[
>+++++++>++++++++++>+++>+<<<<-
] Schleife zur Vorbereitung der Textausgabe
>++. Ausgabe von 'H'
>+. Ausgabe von 'e'
+++++++. 'l'
. 'l'
+++. 'o'
>++. Leerzeichen
<<+++++++++++++++. 'W'
>. 'o'
+++. 'r'
------. 'l'
--------. 'd'
>+. '!'
>. Zeilenvorschub
+++. Wagenrücklauf
|
|
| 2 | ||
| 5 |
Nö. Cool ist das hier: http://de.wikipedia.org/wiki/Ook! (Das Ausrufezeichen gehört zum Link)
– Jürgen Luhr 13.04.2011
|
|
|
Das geht noch besser: Programmiersprache "Whitespace": http://en.wikipedia.org/wiki/Whitespace_(programming_language)
– hugoZ 13.04.2011
|
||
| 1 | ||
| 2 |
Ook! ist der bisher witzigste Wikipedia Artikel den ich jemals gelesen habe :-)
– Logdog82 13.04.2011
|
|
|
Dann kann ich nur die Bücher von Terry Pratchett empfehlen, auf die sich Ook! beziehen. Sehr lesenswert. Vor allem Gevatter Tod. Das hat jetzt aber mit Programmierung nichts mehr zu tun ;o)
– Jürgen Luhr 13.04.2011
|
List<string> streets = new List<string>();
streets.Add("Asamstraße");
streets.Add("Behamstraße");
streets.Add("Clemensstraße");
...
streets.Add("Zeppelinstraße");
|
|
public bool CheckValue(bool myValue)
{
bool myErgebnis;
if(myValue == true)
{
myErgebnis = true;
}
else
{
myErgebnis = false;
}
return myErgebnis;
}
|
|
| 1 |
Meinst du das explizite Ausschreiben in den if-Bededingungen? Also if(myValue == true) statt if(myValue)? Das erhöht aber die Lesbarkeit.
– hugoZ 13.04.2011
|
|
| 4 |
Die Lesbarkeit erhöhen würde es vor allem, einen anderen Namen für myValue zu verwenden, der ausdrückt, was der boolsche Wert bedeutet. Also z.B.
if(dieWeltistSchön) {...} In Fällen, wo man es mit Bezeichnern zu tun hat, die man nicht ändern kann und denen man die boolsche Natur nicht am Namen ansieht, finde ich den expliziten Vergleich allerdings tatsächlich ganz in Ordnung - vor allem, wenn negiert werden muss: das ! in C# ist nicht sonderlich auffällig, da kann ein if (myValue == false) verständlicher sein. – Matthias Hlawatsch 13.04.2011
|
|
| 3 |
Ist ein tolles Kriterium im Bewerbungsgespräch, wenn jemand sowas ohne besonderen Grund schreibt. Zeigt, dass er noch nicht drauf hingewiesen wurde und tendentiell am Anfang steht.
– Marvin Steppat 13.04.2011
|
|
|
Lol, gibt es irgendeinen Grund warum man das so explizit testen sollte? Aber auch wenns kein bool Wert ist finde ich den Code emens hässlich, weil eine eigene Variable gemacht wird die dann einfach zurück gegeben wird. Angenommen wir hätten einen String als Parameter und wollen auf irgendwas prüfen würde ich das so schreiben: private void IsValid(string value) { if(value = "xyValuexy") return true; return false; } – Voi 14.04.2011
|
||
|
Ich hoffe jetzt funktioniert die Highlightung (denglish is super) ;)
private void IsValid(string value) { if(value = "xyValuexy") return true; return false; } – Voi 14.04.2011
|
||
| 4 | ||
| 2 |
oder noch besser:
[code] private void IsValid(string value) { return value == "xyValuexy" }– [/code] Ps: sry für den doppelpost und wer aufmerksam war, ich hab das zweite = vergessen ;) – Voi 14.04.2011
|
|
|
@Mallen Die bringt gar nix zurück ;)
Weil der Rückgabewert void is, ansonst funktioniert Sie. Starkes Stück. 3 Zeilen Code 2 Fehler ;) Deshalb sollte man alles mal test ;) Aber des dient eh nur zum verstehen was ich meine *hust* ;) – Voi 14.04.2011
|
||
|
Das explizite Testen auf boolsche Werte ist zwar Mehraufwand, was man nicht braucht, macht den Code aus meiner Sicht weder lesbarer noch weniger lesbarer. Alles steht und fällt hier mit der Benennung der geprüfen Variable.
– oopexpert 08.08.2011
|
max = 10000;
for(i=1; i<max; i++)
{
if( abbruchbedingung )
i = max;
else
...
|
|
|
Ui- das ist aber auch recht übel. In VB.NET gibt sogar noch das GOTO. Das würde deine Schleife noch fiel fieser machen.
– Thomas Sczyrba 13.04.2011
|
||
| 2 |
Da habe ich bis heute nicht verstanden, welcher Teufel das VB.NET Team geritten hat GOTO wieder einzubauen. Das wäre ja nun endlich mal die Gelegenheit gewesen das loszuwerden.
– m.fuchs 13.04.2011
|
|
| 4 | ||
|
Dieser Spezial-"Entwickler" hat eine angeborene Abneigung gegen "break" und "continue". Name und Wohnort sind der Redaktion bekannt.
– slesa 13.04.2011
|
||
|
|
|
Da muss ich mich aber auch jedes mal zammreissen.
Wenn wir uns geeinigt haben deutsche Bezeichner zu verwenden und mir grad nur der englische einfällt ist die Versuchung echt groß. ;) – Maverick1st 13.04.2011
|
||
|
Wir nehmen jetzt zum Glück immer englische Bezeichner. Zumendest DAS konnte ich durchsetzen :)
– DaSpors 14.04.2011
|
||
| 2 |
Glückwunsch! Wieviele Entwickler in Deinem Team können Lohnsteuerjahresausgleich ins Englische übersetzen? Und beim Lesen des Codes auch wieder zurück, natürlich ohne sich dabei vom eigentlichen problem ablenken zu lassen? Ich hab mir das auch schon oft gewünscht, in einer einheitlichen Sprache codieren zu können. Aber wenn die Domäne deutsch ist, dann hab ich am Ende lieber ein paar deutsche Begriffe im Code und akzeptiere den Sprachmix (komplett deutsch zu codieren hab ich noch nie durchsetzen können, und mir würde es aber auch schwer fallen).
– Matthias Hlawatsch 14.04.2011
|
|
| 1 |
"ArtikelRows" z.B. sieht gruselig aus. Das Problem ist: Bei einer so komplexen Domäne wie Warenwirtschaft fallen weder mir, noch allen anderen Beteiligten die englisch korrekten(!) Begriffe ein. Vor allem können künftige Entwickler das dann wenigsten sofort lesen.
– Dodnedder 22.04.2011
|
|
|
Auch immer wieder schön sind Methoden- oder Variablennamen die über die ganze Bildschirmbreite gehen :)
– Christoph_Wi 01.02.2012
|
|
|
StreamWriter sw = ...;
...
sw.Flush();
sw.Close();
sw.Dispose();
using(StreamWriter sw = ...) {
...
}|
|
|
Stimmt, zumindest using sollte man kennen und benutzen. Aber dass Close ein Flush impliziert und dasselbe tut wie Dispose, steht nicht sonderlich klar in der API-Doku, und ich kann auch verstehen, wenn ein Programmierer verwirrt ist, wenn es zwei Methoden für den gleichen Zweck gibt. Ein typisches Beispiel dafür, dass das "Umbenennen" einer Methode durch explizite Interface-Implementierung plus Delegation seine Schattenseiten hat - sprich: hier haben auch die Designer der StreamWriter-API ihre Aktie dran.
– Matthias Hlawatsch 13.04.2011
|
||
|
moment: also eigentlich erwarte ich mir von einem close ein implizites flush ... flush nur wenn ich zu diesem zeitpunkt NOCH kein close machen will. gabs doch schon bei alten fileoperationen in dos zeiten schon so. kurz: schlechter code, weil sw.Flush() VÖLLIG unnötig.
– nabuchodonossor 13.04.2011
|
||
|
|
| 6 |
Also ich sage immer: Die einzige Konstante in der Softwareentwicklung ist die Veränderung. Egal ob Du jetzt den Code von vor 2 Jahren anschaust oder in 2 Jahren den Code von heute - immer würdest Du sagen "Was habe ich da denn nur gemacht". Das ist ganz normal und ein gutes Zeichen da es zeigt das du Dich immer weiterentwickelst. Mir geht es nach 15 Jahren programmieren immer noch so ;-)
– Thomas Sczyrba 13.04.2011
|
|
|
Die Grundkonzepte haben sich nicht geändert. Man will Dinge zusammen betrachten, die zusammengehören. Man will keine manuell zu pflegenden Redundanzen. Man will eine angemessene Granularität von Aufgaben.
– oopexpert 08.08.2011
|
||
|
Wieso, SQL queries als "programminterne Textverarbeitung" zusammenzusetzen ist doch cool ... da wird es nie langweilig ...
– mupan 31.01.2012
|
|
|
|
Mit weniger Funktionalität ok, aber deswegen auf guten Stil zu verzichten...? Egal wie die Vorgaben sind, man ist immer noch selbst für den Quellcode veratnwortlich.
– slesa 13.04.2011
|
||
|
@daspors: ja eh - was soll ich machen? es geht - ich bin selbständig - immer um die frage: wenn der kunde nur 2 stunden bezahlt, kriegt er auch nur, was in 2:05 möglich ist ...
– nabuchodonossor 13.04.2011
|
||
|
@slesa: weniger funktionalität: beispiel: ein kunde wollte die möglichkeit, aus seiner (bestehenden) umgebung ein pdf dokument bei einem bestimmten webservice signieren zu lassen (frag jetzt nicht wieso ... ich weiss es nicht): funktionalität heißt für mich, es geht, oder es geht eben nicht. manchmal ist die anforderung entweder komplett oder gar nicht zu erfüllen. es scheitert übrigens meist nicht an uns it leuten, sondern an den verkäufern, die unsere dienstleistung feilbieten.
– nabuchodonossor 13.04.2011
|
int reportWanted = CheckArgumentsOfProgramSomeHow();
switch(reportWanted)
{
case 0: DoDefaultReport();
case 1: DoReport1(); // Benutzer-Auswertung
case 2: DoReport2(); // Auswertung nach Bestand
..
case 115: DoReport115(); // Bericht für Kunde xyz
}
|
|
| 2 |
Ist doch prima - eine schönere Vorlage, um magic numbers, Trennung der Belange und Einsatz von Interfaces zu erklären und grundlegende Refactoringtechniken vorzustellen, kann man sich doch kaum wünschen ;-)
– Matthias Hlawatsch 13.04.2011
|
|
|
sieh es doch so: jeder, der solchen code schreibt, sorgt doch dafür dass wir in ein paar jahren ein vermögen verdienen.
– nabuchodonossor 13.04.2011
|
||
|
|
|
|
public Klasse Property
{
get { return feld ?? (feld = new Klasse()); }
}
|
|
(new Thread (delegate() { try { ((IOperator)(obj)).Run(); } catch { } })).Start();
|
|
| 2 | ||
| 1 |
Übrigens gibt es sogar Wettbewerbe bei denen es darum geht möglichst unleserlichen Code zu schreiben http://de.wikipedia.org/wiki/Obfuscated_Perl_Contest
– Thomas Sczyrba 13.04.2011
|
|
|
Und ich habe noch nie ein Perl-Skript gesehen, welches kein Wettbewerbsbeitrag war ;)
– m.fuchs 13.04.2011
|
||
| 1 |
String s;
String s1;
String s2;
String s3;
public a()
{
s1 = s2;
...
}
while(something = true)
{
do something
}
while(true)
{
if(something = false)
{
break;
}
do something
}
|
|
|
ups. Ich meine bei for(int i=0; i<10; i++) ist das i schon okay oder das string s = ""; solang s nur lokal ist.
– trengel 13.04.2011
|
||
| 1 |
Also ich hab mir angewöhnt so sachen wie int i; wirklich NUR in for schleifen zu verwenden. Auch in noch so kleinen Methodenblöcken verwende ich aussagekräftige Variablen. Hat den einfachen Grund, dass ich mich nicht mehr lange damit beschäftigen muss wofür ich die Variable damals eigentlich angelegt hab, wenn ich mal nach längerer Zeit wieder an den Code ran muss.
– Maverick1st 13.04.2011
|

|
|
void ShowString(string value)
{
this.TextBox.Text = value.ToString();
}
void IEnumerable ListToIEnumerable(List<int> zahlen)
{
return (from c in zahlen select c).ToEnumerable<int>();
}
|
|
if(MyValue) //Der If-Block war immer leer. Es war immer nur der else-Block gefüllt.
{
}
else
{
...DoSomething...
}
|
|
| 1 |
Ich denke mal hier handelt es doch sicher eher um unwissenheit als um schlechten Stil(?)
– Thomas Sczyrba 13.04.2011
|
|
| 1 |
Natürlich ist das ein schlechter Stil. Unwissenheit hin oder her. Schlechter Stil aber allemal.
– phlow666 13.04.2011
|
|
| 1 |
Das war bestimmt einer aus der Komplementärwelt zu unserer. Jeder Hiesige wird den if-Block nutzen und nicht den else-Block.
– hugoZ 13.04.2011
|
|
|
|
|
das gilt nur für SEHR alte programme ... gibt mindestens seit der 95er definition freeformat.
– nabuchodonossor 13.04.2011
|
||
| 2 | ||
|
Fortran war auch so? Ich dachte das war eine Eigenart von Cobol.
Procedurnamen in Spalte 8 und Code in Spalte 12. – Jaksa 31.01.2012
|