Softwareentwicklung

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

2
Ist es sinnvoller, Ausnahmen in einer Sammel- oder einer Basisausnahmeklasse zu protokollieren?
Ich bin dabei, eine ziemlich große Web-App umzugestalten. Eines der Hauptprobleme ist die inkonsistente Fehlerbehandlung, und ich versuche, eine vernünftige Strategie zu entwickeln. Ich habe über set_error_handler einen benutzerdefinierten Fehlerhandler erstellt , der im Wesentlichen PHP-Fehler in ErrorExceptions umwandelt, sowie eine benutzerdefinierte Basisausnahmeklasse , die direkt von Exception erbt . …

6
Was bedeutet "automatisiertes Erstellen"?
Ich versuche, einem Projekt Continuous Integration hinzuzufügen. Laut Wikipedia besteht ein Hauptbestandteil von CI aus automatisierten Builds. Ich bin jedoch verwirrt darüber, was genau dies bedeutet, da die Artikel zu CI und Build-Automatisierung nicht übereinstimmen. Konkrete Verwirrungspunkte: Was bedeutet "automatisiertes Erstellen" im Zusammenhang mit: Ein Projekt, das eine interpretierte Sprache …


7
Ein komplettes Programm erstellen?
Das Lesen von Büchern, das Ansehen von Videos und das Lesen von Tutorials ist ganz einfach. Notizen zu machen und das Material tatsächlich zu lernen, mag etwas schwieriger sein, aber selbst dann ist es für jemanden mit einem anständigen Gehirn und einigem Interesse einfach genug (ganz zu schweigen von Spaß). …


4
Warum wird Conways "Game of Life" für Code-Retreats verwendet?
Code Retreat ist eine ganztägige Schulungsveranstaltung, die sich auf die Grundlagen der Softwareentwicklung konzentriert. Es steht ein "globaler" Code-Retreat-Tag an und ich freue mich darauf. Das heißt, ich war schon einmal in einem und muss sagen, dass es eine Menge Chaos gab ... was in Ordnung ist. Eine Sache, die …
15 tdd 


2
(Un-) Vorteile der strukturellen Typisierung
Ich habe gerade diesen Vortrag von Daniel Spiewak gesehen, in dem er über die Vorteile der strukturellen Typisierung im Vergleich zur nominalen Typisierung von Scala und Java spricht . Ein Beispiel für diesen Unterschied wäre der folgende Java-Code public interface Foo { public int length(); } public interface Bar { …

2
Viele kleine Skripte, ein Repository oder mehrere?
Ein Mitarbeiter und ich sind auf ein Problem gestoßen, zu dem wir mehrere Meinungen haben. Derzeit haben wir ein Git-Repository, in dem wir alle unsere Cronjobs aufbewahren. Es gibt ungefähr 20 Cron und sie hängen nicht wirklich zusammen, außer dass es sich um kleine Python-Skripte handelt, die für einige Aktivitäten …


1
Folgt Groovy dem Korrespondenzprinzip von Tennent?
Hier ist eine interessante Diskussion über das Korrespondenzprinzip von Tennent und eine kurze Beschreibung von Neal Gafter : Das Prinzip schreibt vor, dass ein Ausdruck oder eine Anweisung, wenn sie in einen Verschluss eingeschlossen und dann sofort aufgerufen werden, dieselbe Bedeutung haben muss wie vor dem Einschließen in einen Verschluss. …


8
Warum verwenden wir kein dynamisches (serverseitig generiertes) CSS?
Da serverseitig generiertes HTML trivial ist (und dies die einzige Möglichkeit war, dynamische Webseiten vor AJAX zu erstellen), ist serverseitig generiertes CSS dies nicht. Eigentlich habe ich es nie gesehen. Es gibt CSS-Compiler, die jedoch CSS-Dateien generieren, die als statische Dateien verwendet werden können. Technisch erfordert es keine speziellen Bibliotheken, …


5
Einfache Möglichkeiten zur Verbesserung der Release-Qualität in einer RAD-Umgebung
Ein bisschen Hintergrundwissen - wir sind ein kleines Team von 5 RAD-Entwicklern, die für die interne Softwareentwicklung in einem großen Nicht-Software-Unternehmen verantwortlich sind. "Interne Software" unterscheidet sich von einer Desktop-.NET-Anwendung, die MSSQL-Server als Backend für Python-Skripte verwendet, die im Hintergrund für MS Word-Dokumente und -Vorlagen ausgeführt werden - ein Zoo …

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.