Softwareentwicklung

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

4
Instanziieren von Nullobjekten mit dem Nullkoaleszenzoperator
Stellen Sie sich das folgende typische Szenario vor: if(myObject == null) { myObject = new myClass(); } Ich frage mich, was man von dem folgenden Ersatz mit dem Null-Koaleszenz-Operator hält: myObject = myObject ?? new myClass(); Ich bin nicht sicher, ob ich das zweite Formular verwenden soll. Es scheint eine …
12 c#  operators 

4
Warum wird sizeof als Kompilierzeitoperator bezeichnet?
Dies ist ursprünglich ein Teil einer anderen Frage. Warum wird sizeofein Operator zur Kompilierungszeit genannt? Ist es nicht tatsächlich ein Laufzeitoperator? Und wenn es sich in der Tat um einen Operator zur Kompilierungszeit handelt, wie kann er dazu beitragen, portablen Code zu erstellen, der auf verschiedenen Computern gleich ausgeführt wird? …
12 c++ 


6
Standardwerte - sind sie gut oder böse?
Die Frage nach Standardwerten im Allgemeinen - Standardwerte für Rückgabefunktionen, Standardparameterwerte, Standardlogik für den Fall, dass etwas fehlt, Standardlogik für die Behandlung von Ausnahmen, Standardlogik für die Behandlung der Randbedingungen usw. Für eine lange Zeit hielt ich Standardwerte für eine "reine böse" Sache, etwas, das "die Katastrophe verhüllt" und dazu …

2
Warum muss die Basisklasse hier einen virtuellen Destruktor haben, wenn die abgeleitete Klasse keinen dynamischen Rohspeicher zuweist?
Der folgende Code verursacht einen Speicherverlust: #include <iostream> #include <memory> #include <vector> using namespace std; class base { void virtual initialize_vector() = 0; }; class derived : public base { private: vector<int> vec; public: derived() { initialize_vector(); } void initialize_vector() { for (int i = 0; i < 1000000; i++) …

3
Arbeiten Sie in Python nach dem Prinzip der einmaligen Verantwortung (Single Responsibility Principle, SRP), wenn Anrufe teuer sind
Einige Basispunkte: Python-Methodenaufrufe sind aufgrund ihrer Interpretation "teuer" . Wenn Ihr Code einfach genug ist, hat das Auflösen von Python-Code theoretisch negative Auswirkungen, abgesehen von der Lesbarkeit und Wiederverwendung ( ein großer Gewinn für Entwickler, nicht so sehr für Benutzer ). Das Single-Responsibility-Prinzip (SRP) hält den Code lesbar und ist …


4
Ist es problematisch, in einer geschichteten Softwarearchitektur eine Abhängigkeit zwischen Objekten derselben Ebene zu haben?
In Anbetracht einer mittelgroßen Software mit einer n-Ebenen-Architektur und Abhängigkeitsinjektion ist es angenehm zu sagen, dass ein Objekt, das zu einer Ebene gehört, von Objekten aus niedrigeren Ebenen abhängen kann, jedoch niemals von Objekten aus höheren Ebenen. Ich bin mir jedoch nicht sicher, was ich von Objekten halten soll, die …

1
Verwenden von Friend-Klassen, um private Member-Funktionen in C ++ zu kapseln - bewährte Methoden oder Missbrauch?
Ich bemerkte also, dass es möglich ist, das Einfügen privater Funktionen in Kopfzeilen zu vermeiden, indem man Folgendes ausführt: // In file pred_list.h: class PredicateList { int somePrivateField; friend class PredicateList_HelperFunctions; public: bool match(); } // In file pred_list.cpp: class PredicateList_HelperFunctions { static bool fullMatch(PredicateList& p) { return p.somePrivateField == …

6
DDD meets OOP: Wie implementiert man ein objektorientiertes Repository?
Eine typische Implementierung eines DDD-Repository sieht nicht besonders gut aus, zum Beispiel eine save()Methode: package com.example.domain; public class Product { /* public attributes for brevity */ public String name; public Double price; } public interface ProductRepo { void save(Product product); } Infrastrukturteil: package com.example.infrastructure; // imports... public class JdbcProductRepo implements …

2
Eine Definition von „Fertig“ für den Fall, dass mehrere Entwicklungsteams an einem Produkt arbeiten
Einer der Scrum-Tests enthält die Frage nach der Definition, die "Fertig" am besten beschreibt, wenn mehrere Entwicklungsteams an einem Produkt arbeiten. Eine richtige Antwort besagt, dass diese Entwicklungsteams eine solche Definition von "Fertig" haben müssen, die ihre kombinierte Arbeit potenziell freigabefähig machen kann. Was mir aus der richtigen Antwort auf …
12 agile  scrum 



1
Redundanter Code, der mit Micro-Frontends über die Pipe gesendet wird
Mein Verständnis von Micro-Frontends ist, dass das Hauptproblem darin besteht, Unternehmen zu helfen, mehrere, möglicherweise unterschiedliche Teams zu haben und an einzelnen Komponenten / kleinen Apps zu arbeiten, die zum Erstellen einer großen Webanwendung verwendet werden. Hier ist das Hauptproblem, das gelöst werden muss, die Fähigkeit mehrerer Teams, unabhängig zu …

4
Struktur mit unsinnigem Standardwert
In meinem System häufig mit Flughafen - Codes arbeiten I ( "YYZ", "LAX", "SFO", etc.), sind sie immer in dem exakt gleichen Format (3 Buchstaben, als Groß dargestellt). Das System verarbeitet in der Regel 25 bis 50 dieser (unterschiedlichen) Codes pro API-Anforderung, wobei insgesamt über tausend Zuweisungen vorgenommen werden. Sie …

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.