Softwareentwicklung

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

2
Ist das Deklarieren von Feldern für Klassen in PHP tatsächlich schädlich?
Betrachten Sie den folgenden Code, in dem der Setter absichtlich aufgrund eines profanen Programmierfehlers beschädigt wird, den ich in der Vergangenheit einige Male für real gemacht habe: <?php class TestClass { private $testField; function setField($newVal) { $testField = $newVal; // deliberately broken; should be `$this->testField = $newVal` } function getField() …
12 php 



8
Ist es eine schlechte Praxis, alle Aufzählungen in eine Datei aufzunehmen und in mehreren Klassen zu verwenden?
Ich bin ein aufstrebender Spieleentwickler, arbeite an gelegentlichen Indie-Spielen und mache seit einiger Zeit etwas, das anfangs wie eine schlechte Praxis schien, aber ich möchte wirklich eine Antwort von einigen erfahrenen Programmierern hier bekommen. enumList.hAngenommen , ich habe eine Datei mit dem Namen, in der ich alle Aufzählungen deklariere, die …

2
Warum werden Fehlercodes negiert?
Sehr oft sehe ich in C-Code die Negation zurückgegebener Fehlercodes, zB return -EINVALstatt return EINVAL. Warum Negation verwendet?
12 c 

3
Erstellen einer Abstraktionsebene über der ORM-Ebene
Ich glaube, wenn Sie Ihre Repositorys haben, verwenden Sie ein ORM, das bereits genug von der Datenbank abstrahiert ist. Wo ich jetzt arbeite, glaubt jedoch jemand, dass wir eine Ebene haben sollten, die das ORM abstrahiert, falls wir das ORM später ändern möchten. Ist es wirklich notwendig oder ist es …
12 database  orm 

7
Refactoring und Open / Closed-Prinzip
Ich habe kürzlich eine Website über die Entwicklung von sauberem Code gelesen (ich habe hier keinen Link eingefügt, da dieser nicht auf Englisch ist). Eines der auf dieser Website beworbenen Prinzipien ist das Open-Closed-Prinzip : Jede Softwarekomponente sollte zur Erweiterung geöffnet und zur Änderung geschlossen sein. Wenn wir beispielsweise eine …



3
Ist es besser, Attribute in einer Klasse vorab zu initialisieren oder sie unterwegs hinzuzufügen?
Es tut mir leid, wenn dies eine ABSOLUT sophomorische Frage ist, aber ich bin gespannt, welche Best Practices es gibt, und ich kann bei Google anscheinend keine gute Antwort finden. In Python verwende ich normalerweise eine leere Klasse als Super-Catchall-Datenstrukturcontainer (ähnlich einer JSON-Datei) und füge unterwegs Attribute hinzu: class DataObj: …


8
So bringen Sie Entwickler dazu, Codeüberprüfungen rechtzeitig durchzuführen
Für das Unternehmen, für das ich arbeite, muss der gesamte Code von anderen Entwicklern überprüft werden, bevor er festgeschrieben wird. Die Mitglieder meines Teams sind oft frustriert, weil die anderen Entwickler zu beschäftigt sind, um eine Überprüfung durchzuführen, insbesondere wenn diese sehr lang ist. Wie können Sie andere Entwickler dazu …

2
Effiziente Trie-Implementierung für Unicode-Strings
Ich habe nach einer effizienten String-Trie-Implementierung gesucht. Meistens habe ich folgenden Code gefunden: Referenzielle Implementierung in Java (per Wikipedia) Ich mag diese Implementierungen aus zwei Gründen nicht: Sie unterstützen nur 256 ASCII-Zeichen. Ich muss Dinge wie Kyrillisch behandeln. Sie sind extrem speichereffizient. Jeder Knoten enthält ein Array mit 256 Referenzen, …
12 unicode  trie 

1
Besuchermuster mit großer Objekthierarchie verwenden
Kontext Ich habe mit einer Hierarchie von Objekten (einem Ausdrucksbaum) ein "Pseudo" -Besuchermuster verwendet (Pseudo, da darin kein doppelter Versand verwendet wird): public interface MyInterface { void Accept(SomeClass operationClass); } public class MyImpl : MyInterface { public void Accept(SomeClass operationClass) { operationClass.DoSomething(); operationClass.DoSomethingElse(); // ... and so on ... } …

5
Wie teste ich eine JSP-Datei?
Ich entwickle eine Java 6 EE-Anwendung und teste meinen JSP-Code mit einer anderen mit einer Testversion der Funktionsaufrufe und des Codes, die in der ursprünglichen verwendet wurden, aber es scheint locker und unpraktisch. Gibt es eine gute Möglichkeit, diese Art von Tests durchzuführen?

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.