Softwareentwicklung

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

3
Wann und warum wurden Zeiger als riskant eingestuft?
Es scheint, dass sich das Denken über die Verwendung von Zeigern in Programmiersprachen allmählich verschoben hat, so dass allgemein anerkannt wurde, dass Zeiger als riskant eingestuft wurden (wenn nicht geradezu "böse" oder ähnliche Erschwernisse). Was waren die historischen Entwicklungen für diese Denkveränderung? Gab es spezielle, wegweisende Ereignisse, Forschungen oder andere …
18 history  pointers 


6
Warum sollten Makefiles ein Installationsziel haben?
Aus der Welt von C und C ++ stammend, haben die meisten Build-Systeme ein installZiel, insbesondere Makefiles (wo es zum Beispiel von GNU empfohlen wird ) oder CMake . Dieses Ziel kopiert die Laufzeitdateien (ausführbare Dateien, Bibliotheken usw.) im Betriebssystem (z. B. C:\Program Files\unter Windows). Das fühlt sich wirklich abgefahren …

1
Unit-Tests: Zurückgestellte Behauptungen mit Linq
Ist es in Ordnung, verzögerte Aussagen wie diese hinzuzufügen? var actualKittens = actualKittens.Select(kitten => { Assert.IsСute(kitten); return kitten }); Warum? So kann ich auch mit Aussagen, die eine materialisierte Sammlung erwarten, nur einmal iterieren, zum Beispiel: CollectionAssert.AreEquivalent(expectedKittens, actualKittens.ToList()); Es könnte sich auch nicht nur um Select handeln, sondern auch um …

2
Gibt es Belege dafür, dass die Verwendung von Dependency Injection die Ergebnisse im Software-Engineering verbessert?
Gibt es trotz seiner Beliebtheit empirische Belege dafür, dass Dependency Injection (und / oder die Verwendung eines DI-Containers) beispielsweise bei der Reduzierung der Fehleranzahl, der Verbesserung der Wartbarkeit oder der Erhöhung der Entwicklungsgeschwindigkeit bei echten Softwareprojekten hilft?

5
RESTful API steht für das Fehlen einer Sache
Stellen Sie sich eine API vor, um festzustellen, ob eine Person ihr Geistestier ausgewählt hat. Sie können nur null oder ein Geister-Tier haben. Zur Zeit: /person/{id}/selectedSpiritAnimal Wenn sie ein Tier ausgewählt haben, wird http 200 und zurückgegeben {selectedAnimal:mole} Wenn sie jedoch keine Auswahl haben, wird http 404 zurückgegeben. Dies macht …
18 rest 

1
SOA / Microservices: Wie gehe ich bei der dienstübergreifenden Kommunikation mit Autorisierungen um?
Vordergrund Wir wechseln von einer monolithischen Plattform zu einer serviceorientierteren Architektur. Wir wenden sehr grundlegende DDD-Prinzipien an und teilen unsere Domäne über verschiedene begrenzte Kontexte auf. Jede Domain wird verteilt und macht einen Service über eine Web-API (REST) ​​verfügbar. Aufgrund der Art unseres Geschäfts haben wir Dienstleistungen wie Buchungen , …

3
Gibt es einen Begriff für die Überkomplikation von OOP?
Vor ein oder zwei Jahren habe ich einen ausgezeichneten Artikel über OOP (Java) gesehen, der den Fortschritt eines einfachen konkreten Loggers mit zwei oder drei Codezeilen und einen theoretischen übermäßigen Denkprozess des unerfahrenen Entwicklers zeigte, der im Grunde gesagt hat: Oh, ich sollte Fügen Sie dies hinzu, falls wir das …

3
Warum wird in Webanwendungen häufig REST anstelle von RPC-ähnlichen Mechanismen verwendet?
Ich habe vor kurzem bei einem Unternehmen angefangen, das ein ziemlich ungewöhnliches benutzerdefiniertes Framework für seine Webanwendungen verwendet, zumindest im Vergleich zu den mir bekannten typischen Webanwendungs-Frameworks. Anstelle eines RESTful-Webservices wird ein RPC-Mechanismus zur Kommunikation mit dem Server verwendet. Die Kommunikation mit dem Server sieht aus wie ein einfacher Funktionsaufruf, …


5
Grund, RIGHT JOIN gegenüber LEFT JOIN vorzuziehen
Wenn ich richtig verstehe, jeder RIGHT JOIN: SELECT Persons.*, Orders.* FROM Orders RIGHT JOIN Persons ON Orders.PersonID = Persons.ID kann ausgedrückt werden als LEFT JOIN: SELECT Persons.*, Orders.* FROM Persons LEFT JOIN Orders ON Persons.ID = Orders.PersonID Meine persönliche Meinung ist, dass die Absicht der Aussage ist: Holen Sie sich …


7
DevOps bedeutet, dass Entwickler jetzt die Verantwortung für die Infrastruktur und die Freigabe übernehmen - aber was sind die Treiber für diese Änderung?
DevOps bedeutet, dass Entwickler jetzt die Verantwortung für die Infrastruktur und die Freigabe übernehmen - aber was sind die Treiber für diese Änderung? Ich lege meine Karten auf den Tisch: Ich bin Entwickler und habe sowohl in "DevOps" als auch in Nicht-Kulturen gearbeitet. Sich um die Infrastruktur und Releases sowie …
18 process  devops 

3
Gibt es Alternativen zu Typen für die statische Analyse?
Die statische Eingabe in einer Programmiersprache kann hilfreich sein, um bestimmte Garantien beim Kompilieren durchzusetzen. Sind Typen jedoch das einzige Tool für diesen Job? Gibt es andere Möglichkeiten, Invarianten anzugeben? Beispielsweise kann eine Sprache oder Umgebung dazu beitragen, eine Garantie hinsichtlich der Arraylänge oder der Beziehungen zwischen den Eingaben für …


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.