Softwareentwicklung

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

3
Ist es üblich, einen NotImplementedError für Methoden auszulösen, deren Implementierung noch aussteht, die jedoch nicht abstrakt sein sollen?
Ich möchte eine NotImplementedErrorfür jede Methode, die ich implementieren möchte, aber wo ich noch nicht dazu gekommen bin, erhöhen . Möglicherweise habe ich bereits eine teilweise Implementierung, stelle sie jedoch voran, raise NotImplementedError()da sie mir noch nicht gefällt. Auf der anderen Seite halte ich mich auch gerne an Konventionen, weil …

12
Verwendung von Raubkopien bei einem Unternehmen [geschlossen]
Ich habe vor ein paar Monaten als Ingenieur in einem Unternehmen angefangen. Es ist ein kleines Unternehmen, das im Grunde nur telefonische Anrufe entgegennimmt. Jetzt wechseln sie von normalen Telefonen zu IP-Telefonen, damit Computer bei der Arbeit einen wichtigeren Platz einnehmen. Alle von Arbeitnehmern verwendeten Computer sind jedoch mit Raubkopien …
33 ethics 


6
Zusätzliche Zeile im Block vs. zusätzlicher Parameter in Clean Code
Kontext In Clean Code , Seite 35, heißt es Dies impliziert, dass die Blöcke in if-Anweisungen, else-Anweisungen, while-Anweisungen usw. eine Zeile lang sein sollten. Wahrscheinlich sollte diese Zeile ein Funktionsaufruf sein. Dies hält nicht nur die umschließende Funktion klein, sondern fügt auch einen dokumentarischen Wert hinzu, da die im Block …
33 clean-code  solid 

9
Wie vertrete ich teure Programmierer?
In unserem Unternehmen müssen wir viele scheinbar nicht komplizierte Dinge tun, wie beispielsweise die Entwicklung einer mobilen Benutzeroberfläche. Nehmen wir an, die erfahrenen Programmierer kosten uns 4x so viel wie die Anfänger. Beide sind grundsätzlich in der Lage, die scheinbar einfachen Dinge in der gleichen Zeit zu erledigen. Der Unterschied …

5
Wie kann ich Verträge für Ausnahmen erstellen und durchsetzen?
Ich versuche, meinen Teamleiter davon zu überzeugen, die Verwendung von Ausnahmen in C ++ zuzulassen, anstatt einen Bool isSuccessfuloder eine Aufzählung mit dem Fehlercode zurückzugeben. Dieser Kritik an ihm kann ich jedoch nicht entgegentreten. Betrachten Sie diese Bibliothek: class OpenFileException() : public std::runtime_error { } void B(); void C(); /** …
33 c++  exceptions 


4
Scrum - Womit sind Teammitglieder während eines Sprints beschäftigt?
Ein Scrum-Sprint ist also ein fester Zeitraum, in dem eine bestimmte Reihe von Funktionen implementiert werden sollte. Ein Scrum-Team besteht aus allen Personen, die sich für die Bereitstellung dieser Funktionen einsetzen. Die meisten von ihnen sind in der Regel Entwickler und Tester. Nachdem man diese Regeln aufgestellt hat, könnte man …
33 agile  scrum  sprint 

6
Was ist eine gute Sicherheitsmethode zum Speichern einer kritischen Datenbank auf den Laptops von Entwicklern?
Wir haben ein paar Hinweise: Entwickler benötigen ein Replikat der Produktionsdatenbank auf ihren Computern. Entwickler haben das Passwort für diese Datenbank in den App.config-Dateien. Wir wollen nicht, dass die Daten in dieser Datenbank kompromittiert werden. Einige Lösungsvorschläge und deren Nachteile: Full-Disk-Verschlüsselung. Dies löst alle Probleme, beeinträchtigt jedoch die Leistung des …

5
Warum ist das Löschen normalerweise viel schwieriger zu implementieren als das Einfügen in viele Datenstrukturen?
Können Sie sich einen bestimmten Grund vorstellen, warum das Löschen in der Regel für viele (die meisten?) Datenstrukturen erheblich schwieriger zu implementieren ist als das Einfügen? Kurzes Beispiel: Verknüpfte Listen. Das Einfügen ist trivial, aber das Löschen hat einige Sonderfälle, die es erheblich erschweren. Selbstausgleichende binäre Suchbäume wie AVL und …


5
Soll ich C-Strukturen über einen Parameter oder über einen Rückgabewert initialisieren? [geschlossen]
Die Firma, bei der ich arbeite, initialisiert alle ihre Datenstrukturen durch eine Initialisierungsfunktion wie folgt: //the structure typedef struct{ int a,b,c; } Foo; //the initialize function InitializeFoo(Foo* const foo){ foo->a = x; //derived here based on other data foo->b = y; //derived here based on other data foo->c = z; …




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.