Softwareentwicklung

Fragen und Antworten für Fachleute, Akademiker und Studenten, die im Lebenszyklus der Systementwicklung arbeiten

2
Welche Beziehung besteht zwischen Bereich und Namespaces in Python?
In vielen Ressourcen habe ich festgestellt, dass "Gültigkeitsbereich" und "Namespaces" synonym verwendet werden, was etwas verwirrend erscheint, da sie unterschiedliche Bedeutungen haben. Der Bereich definiert den Bereich des Codes, in dem ein Name verfügbar ist. Die LEGB-Regel definiert, wie Namen nachgeschlagen werden. Der Namespace ist ein Ort, an dem Sie …
12 python 

2
Scala-Infix-Notation
Ist es möglich, eine Methode mit Infix-Notation aufzurufen? In Haskell könnte ich beispielsweise die folgende Funktion schreiben: x `isAFactorOf` y = x % y == 0 und dann benutze es wie: if 2 `isAFactorOf` 10 ... Dies ermöglicht in einigen Fällen einen gut lesbaren Code. Ist in Scala etwas Ähnliches …
12 scala 

2
Was ist der Unterschied zwischen einer nicht initialisierten Objektvariablen und einer in Java auf null initialisierten Objektvariablen?
Ich habe die folgenden zwei Objektvariablen Date a; Date b=null; Auf jeden Fall beziehen sich sowohl 'a' als auch 'b' nicht auf Objekte. Nun, wenn ich folgende Aussage aufrufe System.out.println(a.toString()); Es wird ein Fehler bei der Kompilierung auftreten, wenn ich die folgende Anweisung aufrufe System.out.println(b.toString()); Es wird kein Kompilierungsfehler auftreten, …
12 java 


3
Prinzip der Abhängigkeitsinversion vs "Programm auf eine Schnittstelle, keine Implementierung"
Ich versuche zu verstehen, wie sich das Prinzip der Abhängigkeitsinversion vom Prinzip "Programm zu einer Schnittstelle, nicht zu einer Implementierung" unterscheidet. Ich verstehe, was "Programmieren auf eine Schnittstelle, keine Implementierung" bedeutet. Ich verstehe auch, wie es flexiblere und wartbarere Designs ermöglicht. Ich verstehe jedoch nicht, wie sich das Prinzip der …

3
Globaler Anforderungskontext - Anti-Pattern?
Ich habe heute mit einem Kollegen über Python-Webframeworks und unsere Eindrücke darüber gesprochen. Ich sagte ihm, dass ich denke, dass Flask, der eine globale Anfrage hat, schlecht riecht und ein Anti-Muster ist. Die Dokumente sagen über den Anforderungskontext: Im Gegensatz dazu gibt es während der Anforderungsbearbeitung einige andere Regeln: Während …


1
Java-Regex-Muster - Zeitkonstanten oder Instanzmitglieder kompilieren?
Derzeit habe ich einige Singleton- Objekte, bei denen ich reguläre Ausdrücke abgleichen kann, und meine Patterns sind wie folgt definiert: class Foobar { private final Pattern firstPattern = Pattern.compile("some regex"); private final Pattern secondPattern = Pattern.compile("some other regex"); // more Patterns, etc. private Foobar() {} public static Foobar create() { …


4
Verwenden Sie eine Service-Schicht mit MVC
Wenn ein Controller zu fett wird und sich die Modellinstanziierung summiert, kann eine Serviceschicht verwendet werden. Wenn ich die Logik nur in eine Serviceklasse einbinde, erhalte ich eine Reihe von Services mit einer / zwei Methoden. Das fühlt sich an wie ein Code-Geruch. Irgendwelche Best Practices dazu? Kann ein Dienst …
12 mvc  services 



2
Warum typedefs für Strukturen verwenden?
In C (ANSI, C99 usw.) leben Strukturen in ihrem eigenen Namespace. Eine Struktur für eine verknüpfte Liste könnte ungefähr so ​​aussehen: struct my_buffer_type { struct my_buffer_type * next; struct my_buffer_type * prev; void * data; }; Für die meisten C-Programmierer erscheint es jedoch ganz natürlich, diese Strukturen wie die folgenden …

6
Was sind die Nachteile unveränderlicher Typen?
Ich sehe mich immer unveränderlicher Typen, wenn nicht erwartet wird, dass die Instanzen der Klasse geändert werden . Es erfordert mehr Arbeit (siehe Beispiel unten), erleichtert jedoch die Verwendung der Typen in einer Multithread-Umgebung. Gleichzeitig sehe ich in anderen Anwendungen selten unveränderliche Typen, selbst wenn die Veränderlichkeit niemandem nützen würde. …
12 c#  immutability 


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.