{"action":"created","issue":{"url":"https://api.github.com/repos/Schtani/Stichprobe/issues/3","labels_url":"https://api.github.com/repos/Schtani/Stichprobe/issues/3/labels{/name}","comments_url":"https://api.github.com/repos/Schtani/Stichprobe/issues/3/comments","events_url":"https://api.github.com/repos/Schtani/Stichprobe/issues/3/events","html_url":"https://github.com/Schtani/Stichprobe/pull/3","id":56951006,"number":3,"title":"average median modal","user":{"login":"soul-reaper","id":10756827,"avatar_url":"https://avatars.githubusercontent.com/u/10756827?v=3","gravatar_id":"","url":"https://api.github.com/users/soul-reaper","html_url":"https://github.com/soul-reaper","followers_url":"https://api.github.com/users/soul-reaper/followers","following_url":"https://api.github.com/users/soul-reaper/following{/other_user}","gists_url":"https://api.github.com/users/soul-reaper/gists{/gist_id}","starred_url":"https://api.github.com/users/soul-reaper/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/soul-reaper/subscriptions","organizations_url":"https://api.github.com/users/soul-reaper/orgs","repos_url":"https://api.github.com/users/soul-reaper/repos","events_url":"https://api.github.com/users/soul-reaper/events{/privacy}","received_events_url":"https://api.github.com/users/soul-reaper/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/Schtani/Stichprobe/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":{"login":"Schtani","id":4836892,"avatar_url":"https://avatars.githubusercontent.com/u/4836892?v=3","gravatar_id":"","url":"https://api.github.com/users/Schtani","html_url":"https://github.com/Schtani","followers_url":"https://api.github.com/users/Schtani/followers","following_url":"https://api.github.com/users/Schtani/following{/other_user}","gists_url":"https://api.github.com/users/Schtani/gists{/gist_id}","starred_url":"https://api.github.com/users/Schtani/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Schtani/subscriptions","organizations_url":"https://api.github.com/users/Schtani/orgs","repos_url":"https://api.github.com/users/Schtani/repos","events_url":"https://api.github.com/users/Schtani/events{/privacy}","received_events_url":"https://api.github.com/users/Schtani/received_events","type":"User","site_admin":false},"milestone":null,"comments":1,"created_at":"2015-02-08T13:09:20Z","updated_at":"2015-02-08T14:05:58Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/Schtani/Stichprobe/pulls/3","html_url":"https://github.com/Schtani/Stichprobe/pull/3","diff_url":"https://github.com/Schtani/Stichprobe/pull/3.diff","patch_url":"https://github.com/Schtani/Stichprobe/pull/3.patch"},"body":"Implementierung der Services mit dazugehörigen Tests\r\n* Mittelwert\r\n* Median\r\n* Modalwert"},"comment":{"url":"https://api.github.com/repos/Schtani/Stichprobe/issues/comments/73412116","html_url":"https://github.com/Schtani/Stichprobe/pull/3#issuecomment-73412116","issue_url":"https://api.github.com/repos/Schtani/Stichprobe/issues/3","id":73412116,"user":{"login":"Schtani","id":4836892,"avatar_url":"https://avatars.githubusercontent.com/u/4836892?v=3","gravatar_id":"","url":"https://api.github.com/users/Schtani","html_url":"https://github.com/Schtani","followers_url":"https://api.github.com/users/Schtani/followers","following_url":"https://api.github.com/users/Schtani/following{/other_user}","gists_url":"https://api.github.com/users/Schtani/gists{/gist_id}","starred_url":"https://api.github.com/users/Schtani/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Schtani/subscriptions","organizations_url":"https://api.github.com/users/Schtani/orgs","repos_url":"https://api.github.com/users/Schtani/repos","events_url":"https://api.github.com/users/Schtani/events{/privacy}","received_events_url":"https://api.github.com/users/Schtani/received_events","type":"User","site_admin":false},"created_at":"2015-02-08T14:05:58Z","updated_at":"2015-02-08T14:05:58Z","body":"# MittelwertBerechnenImpl\r\n## l. 18\r\n```java \r\nprivate final static int rundenAnzahl = 15; \r\n```\r\nKurzes Kommentar wäre cool, auch wenn es selbst erklärend ist. Evt. kann man diese Variable auch auslagern. [Für Später z.B.: mittles `@Value´]\r\n## l. 23\r\n```java \r\nBigDecimal sum = new BigDecimal(0);\r\n```\r\nFür BigDecimal (ZERO, ONE, TEN) gibt es bereits Objecte.\r\n\r\n# MedianBerechnenImpl \r\n## l. 19\r\n```java \r\nprivate MittelwertBerechnen mittelwert ;\r\n```\r\nPrivate ist zwar eigentlich richtig. Aber ich fände es cool, wenn du noch ein Unit Test schreibst, bei dem du den MittelwertBerechnen Service via Mockito mockst. Dafür muss das Feld jedoch package local sein.\r\n\r\n## l. 27\r\n```java \r\nList<BigDecimal> werteKopie = werte.stream().sorted((e1, e2) -> e1.compareTo(e2)).collect(Collectors.toList());\r\n```\r\nStark! Gefällt mir! Zukünftig evt. nicht mehr notwendig. Kostet vermutlich schon etwas Rechenzeit.\r\n\r\n# ModalwertBerechnenImpl\r\n## l. 37 - 42\r\n```java \r\nList<Entry<BigDecimal, Integer>> eintraege = map.entrySet().stream().sorted((e1, e2) -> e1.getValue().compareTo(e2.getValue())).collect(Collectors.toList());\r\nInteger max = eintraege.get(eintraege.size() - 1).getValue();\r\nList<Entry<BigDecimal, Integer>> maxEintraege = eintraege.stream().filter(e -> e.getValue() == max).collect(Collectors.toList());\t\r\nmodal = maxEintraege.stream().map(e -> e.getKey()).sorted((e1, e2) -> e1.compareTo(e2)).collect(Collectors.toList());\r\n```\r\nEin bisschen Doku wäre schön. Gerade Lange Lamdbas kurz in einem Kommentar beschreiben.\r\n\r\n# MedianBerechnenTest \r\n## l. 12 \r\nDie Klasse unter Test heißt MedianBerechnen**Impl**\r\n## l. 15\r\nEventuelle Aussagekräftigernamen für die Test überlegen\r\n## l. 31 + l. 39\r\n2 Test in einem. Evt. in 2 separate Test aufteilen. \r\n## Allgemein\r\nMedianBerechnenImpl nutzt MittelwertBerechnen Service. Eigentlicher wäre es für Units Test fast schöner, wenn man diesen Service dann mockt. Das aktuelle wäre schon mehr ein Integration Test.  \r\n# MittelwertBerechnenTest \r\n## l. 11\r\nDie Klasse unter Test heißt MittelwertBerechnen**Impl**\r\n## l.15\r\nMittelwertBerechnen ist ja im Grunde ein Service. Du könntest die Variable auch hoch in die Klasse ziehen, da die eigentlich keine Informationen speichert und nicht jedesmal neu erzeugt werden muss.\r\n\r\n# ModalwertBerechnenTest \r\n## l. 11\r\nDie Klasse unter Test heißt ModalwertBerechnen**Impl**\r\n\r\n## l. 15 - 33\r\n* `ModalwertBerechnen modal` auslagern.\r\n* bitte incode Doku ergänzen\r\n* evt. die zwei Test, welche gerade in einem sind aufteilen\r\n\r\n# Units Test Allgemein\r\n* Auf Klassen Naming achten\r\n* Müssen falls Spring verwendet wird nochmal kurz umgebaut werden und die Dependencys werden injected.\r\n* Klasse das es welche gibt !"}}