Interesul meu a fost să testez cunoștiințele utilizatorului. Pentru că asta a și cerut.
Dar ți le argumentez:
- Funcția poate să aibă un singur parametru, care poate fi și omis
În general, când înveți să faci o funcție, lucrul cu parametri sunt pe locul 2. Așa stă treabă, ăsta-i mersul. Faptul că i-am cerut ca parametrul să poată fi omis era doar ca să văd dacă știe că parametrul poate fi opțional. Și nu știe. Uită-te în codul lui și în comentariu.
- Parametrul dat poate fi de orice tip, orice resursă. Nu e număr, nu-i valid
Nu înveți despre clase și obiecte înainte să înveți despre variabile. Trebuia să văd dacă știe ce e ăla un obiect. Și de ce nu, acolo unde nu aștepți să umbli cu obiecte. Nu-mi pare că știe prea multe.
- Numărul maxim acceptat este 9876543210
Pentru că următoarea regulă din listă este să folosească cât mai puține caractere, eram curios dacă o să folosească “<= 9876543210” sau “< 9876543211”. Deci, trebuia să pun o limită.
- Funcția trebuie să conțină cât mai puține caractere sau spații
Ai putea scrie funcția în 1000 de moduri. Nu este interesant în programare ca codul tău să fie cât mai scurt și în același timp să facă ceea ce ne dorim ? Nu cu toții defineam 18 mii de variabile ca în condiții să o verificăm pe ultima definită ?
- Răspunsul funcției trebuie să fie de tip boolean
A returnat cineva rezultatul unei funcții în format boolean înainte să returneze rezultatul în tipul “Da/Nu” sau trimițând rezultatul “” ? Oare nu-ți poți da seama de ce cunoștințe are în programare cerându-i asta ? Și uită-te, de exemplu, cum returnează răspunsul, față de cum îl returnează funcția lui serghei (care e ceva mai bună).
- Înafară de funcția cerută mai poți folosi 0 funcții.
Da. Chiar așa. Mi-am permis să văd dacă știe de casting. Și dacă știe, cum o face, având în vedere că exista și cerința cât mai puține caractere.
Prăjeală, vrăjeală se referă la ce am spus înainte. Fără clase, fără metode. Pentru că în felul ăsta ai fi putut extinde lucrurile (că doar n-am zis nimic de metode). Și, de ce nu, ai putea umbla la configurația php-ului doar ca să scapi de erori de exemplu. Lucru care ar suna a prăjeală în cazul ăsta. Când, dacă chiar e musai, ar putea folosi operatorul @ care e fancy și nu înveți despre el chiar când abia te-ai apucat de programare.
Una peste alta, intenția mea n-a fost să mă contrariez cu nimeni. Toate cerințele mele sunt motivate, au logică și, repet, au ca scop să testeze cunoștințele utilizatorului și nivelul la care e (asta a cerut). Că vreți să spuneți că “stai domnule, că n-ai nevoie de așa ceva acolo”… foaie verde… hai să facem o petiție și să cerem celor de la PHP ca în viitoarea versiune să implementeze numai ce folosim noi.
Din punctul meu de vedere, cerințele nu sunt deloc ambigue. Totuși, se putea cere clarificări. Era culmea să-i zic “descurcă-te”.
Dar, na, când rămâi fără soluții începi să spui că nu știi ce e ăla număr natural, să folosești sistemul hexa, binar etc, când eu am vorbit despre numere naturale, așa cum le învățăm la școală în primele clase.
Deci, nu sunt o nebunie cerințele mele.
Ar putea fi o nebunie faptul că nici până acum n-am primit funcția.
Nici nu mai e nevoie. Am dat atâtea detalii de zici că i-am făcut documentație.