Softwareentwicklung

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

3
Codekopplung eingeführt von DRY und OOD
Ich suche nach Anleitungen zur Kopplung von DRY und Code. Ich dupliziere meinen Code nicht gerne und ich mag auch keine Codekopplung zwischen nicht verwandten Modulen. Ich refaktoriere also doppelten Code, wenn ich ein Jahr nach Einführung der Vervielfältigung identischen Code finde. Ich habe jedoch zunehmend Situationen erlebt, in denen …
14 design  dry  coupling 

3
Ist Poor Man's Dependency Injection ein guter Weg, um Testbarkeit in eine Legacy-Anwendung einzuführen?
Im vergangenen Jahr habe ich ein neues System mit Dependency Injection und einem IOC-Container erstellt. Das hat mir viel über DI beigebracht! Ich halte es jedoch auch nach dem Erlernen der Konzepte und Muster für eine Herausforderung, Code zu entkoppeln und einen IOC-Container in eine Legacy-Anwendung einzuführen. Die Anwendung ist …


2
Ist CQRS nicht Überentwicklung?
Ich erinnere mich immer noch an gute alte Tage der Aufbewahrungsorte. Aber Repositories wuchsen mit der Zeit hässlich. Dann wurde CQRS zum Mainstream. Sie waren nett, sie waren ein Hauch frischer Luft. Aber in letzter Zeit habe ich mich immer wieder gefragt, warum ich die Logik in der Action-Methode eines …

2
Was ist ein Ausgabeargument, auf das in Martins Clean Code verwiesen wird?
Auf Seite 45 von Robert C. Martins Clean Code: A Handbook of Agile Software Craftsmanship schreibt Martin, dass Ausgabeargumente vermieden werden sollten. Ich habe Probleme, die Bedeutung von "Ausgabeargument" zu verstehen und warum sie vermieden werden sollten. Martins Beispiel für ein Ausgabeargument appendFooter(s);ruft die Funktion auf public void appendFooter(StringBuffer report). …
14 java  clean-code 


3
Funktionsprogrammierung und Textabenteuer
Dies ist größtenteils eine theoretische Frage zu FP, aber ich nehme Textabenteuer (wie Old-School-Zork), um meinen Standpunkt zu veranschaulichen. Ich würde gerne wissen, wie Sie eine Stateful-Simulation mit FP modellieren würden. Text-Abenteuer scheinen wirklich OOP zu erfordern. Zum Beispiel sind alle "Räume" Instanzen einer RoomKlasse, Sie können eine Basisklasse Itemund …

9
Warum kann es keine impliziten Konvertierungen geben?
Nach meinem Verständnis können implizite Konvertierungen Fehler verursachen. Das macht aber keinen Sinn - sollten normale Konvertierungen dann nicht auch Fehler verursachen? Warum nicht haben len(100) arbeiten nach der Sprache, die sie interpretiert (oder kompiliert) als len(str(100)) Zumal das der einzige Weg ist , damit es funktioniert. Die Sprache weiß, …

3
Wie lassen sich Dateien, die gleichnamige generische Klassen enthalten, am besten strukturieren und benennen?
In meinem aktuellen Projekt bin ich auf die Anforderung gestoßen, generische Klassen mit demselben Namen, aber unterschiedlicher Anzahl von generischen Parametern zu erstellen. Beispielsweise: MyClass<T1> MyClass<T1, T2> MyClass<T1, T2, T3> Da ich alle im selben Namespace haben möchte, bin ich nicht sicher, wie ich meine Klassen und Dateien strukturieren und …
14 c#  .net 

3
Gruppieren mehrerer Git-Repositorys, die Teil desselben Gesamtprojekts sind
Angenommen, ich habe ein Projekt mit mehreren Komponenten: einer Serverkomponente, einer Web-App-Komponente, einer iOS-Komponente, einer Android-Komponente usw. Diese Komponenten sind alle separate Codebasen, sind jedoch auch lose miteinander verbunden (z. B. eine Änderung des Servers) Code könnte auch eine Änderung an allen anderen Komponenten erfordern) Was ist der effizienteste Weg …
14 git 



6
Wie lässt sich ein agiles Team, das eine Web-App erstellt, am besten skalieren und aufteilen?
Ich bin vor kurzem in ein Unternehmen eingetreten, in dem ich als Scrum-Master an einem agilen Entwicklungsprojekt für eine Web-App arbeite. Das Team ist im Begriff, die maximale Größe für ein agiles Team zu erreichen (voraussichtlich 9 in der nächsten Woche). Wir haben darüber gesprochen, das Team möglicherweise in zwei …


2
Grund für die return-Anweisung beim rekursiven Funktionsaufruf
Ich hatte nur einen Zweifel im Kopf. Die folgende Unterroutine (zum Beispiel zum Suchen eines Elements in einer Liste) hat am Ende eine return-Anweisung: list *search_list(list *l, item_type x) { if (l == NULL) return(NULL); if (l->item == x) return(l); else return( search_list(l->next, x) ); } Ich kann die Bedeutung …

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.