Softwareentwicklung

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

15
Wie konkurrieren Sie effektiv mit einem Open Source-Projekt?
Ein Unternehmen mit einem soliden Open-Source-Projekt, das mit einem traditionellen Closed-Source-Produkt konkurriert, scheint unschlagbar. Ich habe diesen Artikel gelesen, in dem der Autor dieses Szenario darstellt: Angenommen, man könnte einen Softwaremarkt - etwa das Netzwerkmanagement - auf zwei Produkte aufteilen. Einer tat alles Mögliche und kostete eine Million Dollar, der …


5
Reicht es aus, wenn Methoden nur nach dem Argumentnamen (nicht nach dem Typ) unterschieden werden?
Reicht es aus, Methoden nur nach dem Argumentnamen (nicht nach dem Typ) zu unterscheiden, oder ist es besser, ihn expliziter zu benennen? Zum Beispiel T Find<T>(int id)vs T FindById<T>(int id). Gibt es einen guten Grund, es expliziter zu benennen (dh hinzuzufügen ById), anstatt nur den Argumentnamen beizubehalten? Ein Grund, an …

5
Wie definiert man, dass eine Methode eine stärkere Verpflichtung überschreiben kann als die Definition, dass eine Methode aufgerufen werden kann?
Von: http://www.artima.com/lejava/articles/designprinciples4.html Erich Gamma: Ich denke, das stimmt auch nach zehn Jahren noch. Vererbung ist eine coole Möglichkeit, das Verhalten zu ändern. Aber wir wissen, dass es spröde ist, weil die Unterklasse leicht Annahmen über den Kontext treffen kann, in dem eine Methode aufgerufen wird, die sie überschreibt. Aufgrund des …


8
Sollten die Fähigkeiten eines Objekts ausschließlich durch die von ihm implementierten Schnittstellen identifiziert werden?
Mit isdem instanceofOperator von C # und dem Operator von Java können Sie auf die von einer Objektinstanz implementierte Schnittstelle (oder, noch schlimmer, ihre Basisklasse) verzweigen. Ist es angemessen, diese Funktion für Verzweigungen auf hoher Ebene zu verwenden, basierend auf den Fähigkeiten, die eine Schnittstelle bietet? Oder sollte eine Basisklasse …

2
Warum definieren Methoden mit einer unbegrenzten Anzahl von Parametern häufig Überladungen mit weniger Parametern?
Beispielsweise weist die System.IO.Path.CombineMethode in .NET die folgenden Überladungen auf: Combine(params String[]) Combine(String, String) Combine(String, String, String) Combine(String, String, String, String) Was ist der Sinn der letzten drei? Die erste würde sie alle abdecken, als ob Sie genau hinschauen, verwendet es das paramsSchlüsselwort. Das Argument der Abwärtskompatibilität würde nur die …

2
Was sind die 4. und 5. Programmiersprachengeneration? Gibt es noch mehr davon? [geschlossen]
Beliebte Programmiersprachen (C #, Java, C ++) sind alle Sprachen der 3. Generation (mit einem höheren Abstraktionsgrad von den physischen Teilen der Maschine). Assemblersprachen werden als 2. und Maschinensprachen als Sprachen der 1. Generation klassifiziert. Anfänglich dachte ich, SQL sollte als Sprache der 4. Generation betrachtet werden, da es abstrakter …





5
Ist es angebracht, positive Kommentare in Code-Reviews zu hinterlassen, oder dient es ausschließlich konstruktiver Kritik?
Ich habe in letzter Zeit eine Menge Codeüberprüfungen durchgeführt und bin mir nicht sicher, welche positiven und negativen Auswirkungen und welche Professionalität es hat, positive und / oder lustige Kommentare in Codeüberprüfungen einzubringen. Wir verwenden Github als unsere Codeüberprüfungsplattform in meinem Team, sodass die Kommentare von jedermann eingesehen werden können. …

3
Gibt es Vorteile von SASS gegenüber LESS? [geschlossen]
Ich versuche, diese CSS-Präprozessoren zu erforschen. Gibt es irgendwelche Vorteile von sass gegenüber less als CSS-Präprozessor? Zu den Faktoren, die ich suche, gehören die Größe der Community, die Reife des Softwareprojekts usw. Ich weiß, dass diesbezüglich noch eine andere Frage gestellt wurde , die jedoch nicht konstruktiv formuliert und abgeschlossen …
36 css  less 

6
Wie solltest du ein Yahtzee-Spiel TDD?
Angenommen, Sie schreiben einen TDD-Stil für ein Yahtzee-Spiel. Sie möchten den Teil des Codes testen, der bestimmt, ob ein Satz mit fünf Würfeln ein volles Haus ist oder nicht. Soweit ich weiß, befolgen Sie bei TDD folgende Grundsätze: Schreiben Sie zuerst die Tests Schreiben Sie das Einfachste, was funktioniert Verfeinern …
36 unit-testing  tdd 

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.