Die Analyse von Quellcode oder Objektcode ohne Ausführung des Programms. Dies kann durch automatisierte Werkzeuge oder durch menschliche Analyse erfolgen.
Als ich einem Kollegen den Unterschied zwischen der Strenge von Sprachen und Paradigmen erklärte, stellte ich fest, dass: Tolerante Sprachen wie dynamische und interpretierte Sprachen werden am besten für Prototypen und kleine Projekte oder mittelgroße Webanwendungen verwendet. Bei der Auswahl eleganter dynamischer Sprachen wie Python oder JavaScript mit Node.js ergeben …
Wir verwenden SonarQube, um unseren Java-Code zu analysieren. Dabei gilt folgende Regel (kritisch): Öffentliche Methoden sollten höchstens eine aktivierte Ausnahme auslösen Durch die Verwendung von aktivierten Ausnahmen werden Methodenaufrufer gezwungen, Fehler zu behandeln, indem sie entweder weitergegeben oder behandelt werden. Dies macht diese Ausnahmen vollständig Teil der API der Methode. …
Ich habe gerade einige Whitepapers und Beispiele von Microsoft "Roslyn" gelesen und das Konzept scheint sehr interessant zu sein. Soweit ich weiß, öffnet es die Blackbox, die der Compiler ist, und bietet eine Schnittstelle, über die wir Informationen und Metriken zu in Visual Studio geschriebenem Code abrufen können. Roslyn scheint …
Wir haben hier eine große alte Codebasis mit schlechtem Code, den Sie sich nicht vorstellen können. Wir haben jetzt einige Qualitätsstandards definiert und möchten diese entweder in einer komplett neuen Codebasis erfüllen, aber auch, wenn Sie den alten Code berühren. Und wir erzwingen diese mit Sonar (Code-Analyse-Tool), das bereits einige …
Ich habe von der Code-Analyse von Visual Studio gehört, aber noch nie eine verwendet. Ich habe MSDN gelesen , verstehe aber immer noch nicht die tatsächliche Verwendung der Codeanalyse. Ist es nicht dasselbe wie StyleCop? Irgendwo wurde auch FxCop erwähnt. Was ist der Unterschied zur Code-Analyse? Muss ich die Code-Analyse …
Es scheint mir logisch, dass man einen Kontext für die statische Quellcode-Analyse definieren könnte, der Regeln enthält, um einen relativen Wert für die Komplexität zu erzeugen. Ich weiß, dass dies nicht im physischen Sinne der Fall ist, da der Quellcode nicht über "Energie" verfügt, aber ich wette, es wurden zumindest …
Die statische Eingabe in einer Programmiersprache kann hilfreich sein, um bestimmte Garantien beim Kompilieren durchzusetzen. Sind Typen jedoch das einzige Tool für diesen Job? Gibt es andere Möglichkeiten, Invarianten anzugeben? Beispielsweise kann eine Sprache oder Umgebung dazu beitragen, eine Garantie hinsichtlich der Arraylänge oder der Beziehungen zwischen den Eingaben für …
Ich habe kürzlich die zyklomatische Komplexität (McCabe) und die Erreichbarkeit von Software an der Uni untersucht. Heute sagte mein Dozent, dass es keine Korrelation zwischen den beiden Metriken gibt, aber ist dies wirklich der Fall? Ich denke, es würde definitiv eine gewisse Korrelation geben, da weniger komplexe Programme (von den …
Mit Tools wie pc-lint oder QAC kann eine statische Code-Analyse auf Codebasis durchgeführt werden. Nach meiner Erfahrung führt die statische Analyse häufig zu einem enormen Rauschen, dh zu Warnungen vor Dingen, die keine echten Fehler sind, aber irgendwie gegen eine der Regeln in einem bestimmten Regelsatz verstoßen. Das Deaktivieren bestimmter …
Ich arbeite in einer Firma, die Joel Test mit 11 Punkten bewertet - zumindest auf dem Papier. In der Praxis funktioniert jedoch nichts so gut wie erwartet, und das Projekt läuft seit einem halben Jahr auf DEFCON 1 . Jetzt freuen sich die meisten meiner Kollegen, wenn sie um 18 …
Ich bin es gewohnt, von Hand nach der Landau-Notation (Big O, Theta ...) meiner Algorithmen zu suchen, um sicherzustellen, dass sie so optimiert wie möglich sind, aber wenn die Funktionen wirklich groß und komplex werden, nimmt sie Fahrt auf zu viel Zeit, um es von Hand zu tun. Es ist …
Ich fing an, an mehreren C-Projekten zu arbeiten, die mit bauen gcc. Ich glaube, diese Wahl wurde aus mehreren Gründen getroffen: Musste sehr früh für Arm Cross-Compilieren (glaube ich). Leistung ist die erste und wichtigste Spezifikation. gcc war und ist die einfache erste Wahl. Ich habe keinen Grund, diese Wahl …
Ich habe Java-Code geerbt, von dem ich vermute, dass er bei der Synchronisierung zwischen einem Thread, der Daten abfragt, und einem E / A-Ereignis, das dieselben Daten aktualisiert, einige Parallelitätsfehler aufweist. Ich probiere ein statisches Analysetool namens ThreadSafe aus, das tatsächlich verschiedene Parallelitätsprobleme erkennt (dh ein Feld, auf das über …
Die erste Antwort auf eine alte, kürzlich aktive Frage, die mit einem Video verknüpft ist, in dem erläutert wird, wie das Google-Repository erstellt wird. Eine interessante Sache, die erwähnt wurde, ist die Tatsache, dass alles aus dem Quellcode erstellt wird, ohne auf Binärdateien angewiesen zu sein. Dies hilft zu vermeiden, …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.