Softwareentwicklung

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

4
Wann sollte ein Commit nicht mit einem Versions-Tag versehen werden?
Kontext: Ich habe kürzlich etwas über die semantische Versionierung erfahren und versuche herauszufinden , wie ich sie praktisch für meine eigenen Projekte verwenden kann. In Anbetracht der Tatsache, dass Semver wichtige Änderungen, geringfügige Änderungen und Patches für die Versionierung berücksichtigt, sollte ein Commit nicht mit einer aktualisierten Version versehen werden? …

6
Wann sollten Abhängigkeiten aktualisiert werden?
Wir hatten zwei große Krisen im Zusammenhang mit Abhängigkeiten mit zwei unterschiedlichen Codebasen (Android und eine Node.js-Web-App). Das Android-Repository musste von Flurry auf Firebase migriert werden, wodurch die Google Play Services-Bibliothek in vier Hauptversionen aktualisiert werden musste . Ähnliches geschah mit unserer von Heroku gehosteten Node-App, bei der unser Produktionsstapel …

2
Was ist der Ursprung des C-Präprozessors?
Der C-Präprozessor ist an C angehängt, hat jedoch eine völlig andere Syntax als die Hauptsprache: syntaktisch signifikantes Leerzeichen (Zeilenende beendet eine Anweisung, Lücke nachdem das Makro den Anfang der Ersetzungsliste bestimmt) schlüsselwortbasierte Blöcke anstelle von geschweiften Blöcken elifanstelle vonelse if Schlüsselwort-geführte Definitionen anstelle von Deklaration-Reflects-Use, nein =für Wertedefinition Hinweise auf …
30 c  history  macros 


5
Was ist ein effektiver Weg, um Gründe für Produktdesignentscheidungen aufzuzeichnen?
In unserem Unternehmen verwenden wir keine Produktdesign-Dokumente. Wir haben insgesamt drei Mitarbeiter, sodass alle Produktdesign-Diskussionen persönlich oder über Slack stattfinden. (Wir haben auch das grundlegende Slack-Paket, mit dem nur die neuesten Nachrichten angezeigt werden können.) Unser Produkt befindet sich noch in einem frühen Stadium und wir greifen häufig Designelemente auf, …

8
Ist diese Einschränkung von Test Driven Development (und Agile im Allgemeinen) praktisch relevant?
In Test Driven Development (TDD) beginnen Sie mit einer suboptimalen Lösung und erzeugen dann iterativ bessere, indem Sie Testfälle hinzufügen und umgestalten. Die Schritte sollten klein sein, was bedeutet, dass sich jede neue Lösung in der Nähe der vorherigen befindet. Dies ähnelt mathematischen lokalen Optimierungsmethoden wie Gradientenabstieg oder lokale Suche. …


7
Ist es ein Codegeruch, ein Flag in einer Schleife zu setzen, um es später zu verwenden?
Ich habe ein Stück Code, in dem ich eine Map iteriere, bis eine bestimmte Bedingung erfüllt ist, und diese Bedingung später benutze, um weitere Aufgaben zu erledigen. Beispiel: Map<BigInteger, List<String>> map = handler.getMap(); if(map != null && !map.isEmpty()) { for (Map.Entry<BigInteger, List<String>> entry : map.entrySet()) { fillUpList(); if(list.size() > limit) …

6
Lieber 2 Methoden mit klarer Bedeutung oder nur 1 Dual-Use-Methode?
Ist es zur Vereinfachung der Benutzeroberfläche besser, die getBalance()Methode nicht zu haben ? Übergeben 0an charge(float c);wird das gleiche Ergebnis geben: public class Client { private float bal; float getBalance() { return bal; } float charge(float c) { bal -= c; return bal; } } Vielleicht eine Notiz machen javadoc? …
30 interfaces  cqrs 

6
Tausende von Fehlern!
Ich wurde vor kurzem einem neuen Projekt zugewiesen. Nun, eigentlich ein altes Projekt, geschrieben in klassischem ASP. Jetzt wird eine neue Version der Anwendung in der neuesten Version von ASP.NET geschrieben, es wird jedoch nicht erwartet, dass es sich in Kürze um RTM handelt (voraussichtliches Veröffentlichungsdatum ist Januar 2017). Ich …



9
Entwerfen einer Klasse, um ganze Klassen als Parameter und nicht einzelne Eigenschaften zu verwenden
Angenommen, Sie haben eine Anwendung mit einer weit verbreiteten Klasse namens User. Diese Klasse enthüllt alle Informationen über den Benutzer, seine ID, seinen Namen, die Zugriffsebenen auf die einzelnen Module, die Zeitzone usw. Die Benutzerdaten sind natürlich systemweit referenziert, aber aus welchem ​​Grund auch immer, das System ist so eingerichtet, …
30 java  c#  design  solid 

4
Warum befindet sich .compareTo () in einer Schnittstelle, während .equals () in Java in einer Klasse enthalten ist?
Ich möchte wissen, warum das .compareTo()in der ComparableSchnittstelle ist, während eine Methode wie .equalsin der ObjectKlasse ist. Mir erscheint es willkürlich, warum eine Methode wie diese .compareTo()nicht schon in der ObjectKlasse ist. Zur Verwendung .compareTo()implementieren Sie die ComparableSchnittstelle und implementieren die .compareTo()Methode für Ihre Zwecke. Für die .equals()Methode überschreiben Sie …

3
JSON Web Token - Warum ist die Nutzlast öffentlich?
Ich kann die Gründe nicht verstehen, warum die Claims / Payload eines JWT nach der Base64-Dekodierung öffentlich sichtbar gemacht werden. Warum? Es scheint viel nützlicher zu sein, es mit dem Geheimnis verschlüsseln zu lassen. Kann jemand erklären, warum oder in welcher Situation es sinnvoll ist, diese Daten öffentlich zu halten?

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.