JavaScript-Code – jetzt auch in lesbar!

JS NICE
Kommentare
Es gibt viele gute Gründe, JavaScript-Code zu minimieren und Kurzformen für Variablen und Parameter zu vergeben. Kompliziert wird das allerdings, wenn man...

Es gibt viele gute Gründe, JavaScript-Code zu minimieren und Kurzformen für Variablen und Parameter zu vergeben. Kompliziert wird das allerdings, wenn man den Code später entziffern möchte; beispielsweise, wenn man auf einer Website ein interessantes Snippet findet, das man sich genauer ansehen möchte. Ein interessantes Projekt der Research Group Software Reliability Lab (SRL) der ETH Zürich beschäftigt sich nun genau mit diesem Thema. Und JS NICE kann sogar noch viel mehr, als JavaScript-Code in seine ursprüngliche Form zu bringen.

JS NICE nutzt fortgeschrittene Techniken aus den Bereichen Machine Learning und Program Analysis, um aus über 10.000 JavaScript-Projekten auf GitHub einen eingegebenen JavaScript-Code lesbar zu machen:

JSNice uses advanced machine learning and program analysis techniques to learn name and type regularities from large amounts of available open source projects (currently, we have indexed over 10,000 JavaScript projects from GitHub). Then, given new JavaScript code, JSNice probabilistically infers newly suggested names and types for all of the local variables and function parameters.

Experimente der SRL haben nach eigenen Angaben ergeben, dass über 60 Prozent der Identifier nach dem Prozess den selben Namen erhalten, den sie vor dem Minifizierungsprozess besaßen. Die entsprechenden Einstellungen vorausgesetzt, bietet das Online-Tool verschiedene Namensvorschläge an – und sogar die Möglichkeit, eigene Namen für Variablen und Parameter zu vergeben.

Das ambitionierte Projekt findet man auf jsnice.org – für Kommentare oder Fragen stehen die Entwickler über das FAQ zur Verfügung.

Aufmacherbild: Pages of a book curved into a heart shape./ Love To Read von Shutterstock / Urheberrecht: Carolyn Franks

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -