Codility vs JavaBlackBelt
Jakiś czas temu napisałem, że nie lubię testowania programistów tak jak się testuje kompilatory. Dobry programista nie musi wiedzieć czym różni się i++ od ++i, jednak musi czuć respekt przed takimi niuansami. Szkoda, że ta zasada nie jest znana społeczności JavaBlackBelt.
JavaBlackBelt to platforma do nauki Javy. Zawiera między innymi testy wymyślane przez społeczność programistów. Dzięki nim można wczuć się w rolę kompilatora:
Po co programista ma wiedzieć coś takiego? Żaden programista przy zdrowych zmysłach nie napiszę takiego kodu – intuicyjnie. A jak już napisze, to powinien dostać czarnym pasem po d….
Dlatego nie podoba mi się JavaBlackBelt. Czarnego pasa w karate nie dostaje się za nauczenie się nazw ciosów: “Mawashi Tobi Geri”.
Dlatego spodobał mi się polski program Codility. Dzięki Codility możemy sprawdzić jak programista poradzi sobie z napisaniem prawdziwego programu. Do wyboru mamy kilka języków programowania w których trzeba rozwiązać zadania algorytmiczne. Webowa aplikacja skompiluje podane rozwiązanie i sprawdzi wyniki przy pomocy testu jednostkowego. Genialne J.
Należy jednak pamiętać, że testy są zawsze pewnym uproszczeniem. Prawdziwych programistów poznaje się w pracy nad projektami a nie podczas rozwiązywania testów i zagadek algorytmicznych.
Nic dodać, nic ująć. Sama prawda. Mimo wszystko chciałbym spróbować się z tym Codility.
nie rozumiem obawy; Codility jako centrum oceny kandydatow ma robic za sito odsiewajace dyletantow. Jak jesteś kadrowym i na 1 stanowisko zgłasza się 15 osób (i wybór tej z największymi cyckami nie jest możliwy lub sensowny) to Codility służy oszczędzeniu komuś wielu godzin pracy na skrócenie listy kandydatów do takiej długości, by był sens przesłuchać i sprawdzić ich na żywca.
A ja tu widzę “doskonały przykład”, że finally jednak może się nie wykonać ;]
To taka uwaga do wszystkich książek dla początkujących, w każdej czytałem, że będzie zawsze wykonana ;]
1.
“Doskonały przykład” wygląda inaczej: blok try { } catch. W try wywołanie kodu natywnego. Kod natywny narusza ochronę pamięci. Czy catch się złapie???
2.
Ostatnio rozmawiałem z nauczycielem angielskiego. Podał doskonałą definicję egzaminu FCE. Zdanie egzaminu FCE nie oznacza że mówi się dobrze po angielsku, ale oznacza – że nie mówi się źle. Chyba podobnie jest z BlackBelt. A Codility to inna bajka, jeszcze lepsze narzędzie do testowania.