Que pensez-vous de la norme C imposée par certaines écoles ?
Posté le 31/12/2015 14:33
Plusieurs fois sur le forum ou le tchat ont éclaté des débats sur la norme de programmation en C qu'imposent certaines écoles d'informatique (42, Epitech, etc), qu'on peut appeler plus simplement la Norme. Pour rappel, en voici quelques points :
ne pas utiliser de boucle itérative (
for), mais les remplacer par des boucles conditionnelles (
while)
ne pas utiliser la forme
do { ... } while(...) mais seulement
while(...) { ... }
ne pas utiliser de
switch, mais selon le contexte des empilements de
if, ou des tableaux de pointeurs, etc
pas plus de 5 fonctions par fichier
pas plus de 25 lignes et 80 colonnes par fonction
pas d'opérateurs
++,
--,
+=,
-=,
*=,
/=, etc
+ diverses conventions d'espacement, indentation et nomination des variables
Et si vous avez le courage :
Norme de 42
Qu'en pensez-vous ? Pensez-vous qu'elle impose légitimement une rigueur, ou qu'au contraire elle bride inutilement les étudiants ?
NOTE : les premières réponses ont été importées d'un autre topic, d'où les dates antérieures.
Citer : Posté le 31/12/2015 22:18 | #
Par contre, "pas d'opérateurs ++, ...", tu fais comment ?
truc = truc + 1;
Mais c'est con ?! En quoi c'est utile ? Ça ne donne pas plus de lisibilité, ça utilise plus de temps...
Je suis d'accord avec toi, après tu n'es pas obligé de respecter les normes.
Citer : Posté le 31/12/2015 22:21 | #
Par contre, "pas d'opérateurs ++, ...", tu fais comment ?
truc = truc + 1;
Mais c'est con ?! En quoi c'est utile ? Ça ne donne pas plus de lisibilité, ça utilise plus de temps...
Bah c'est pas plus utile que le reste des normes à respecter
Citer : Posté le 01/01/2016 16:44 | #
Bonjour,
Premièrement, le 6ème point est faut : la norme d'Epitech ne possède pas ce genre de règle, et 42 étant très inspiré d'Epitech, je pense que les ++, -- et autres n'y sont pas interdits.
Deuxièmement, la règle des 25 lignes et 80 colones permet de coder de manière propre et synthétique et provient des débuts de l'informatique.
Troisièmement, les 5 fonctions par fichier obligent à organiser son code.
Enfin, l'interdiction du for et du do while a juste pour objectif d'uniformiser les codes pour que les projets soient plus lisibles pour des personnes qui ne codent pas de la même manière.
La norme a certes des défauts et des restrictions qui paraissent "crétin" (je suis tout à fait d'accord pour le switch par exemple, et, au passage, les "empilements" de if ne sont qie très peu tolérés), mais il ne faut pas oublier que les écoles comme Epitech sont très ouvertes et contiennent les meilleurs comme les plus cons, et des personnes avec beaucoups comme avec très peu d'expérience en code. La norme a pour vocation d'éduquer des personnes n'ayant jamais codé : en effet, qui peut le plus peut le moins, d'ailleurs cette norme ne vaut que pour le premier language appris (le C), et n'est pas valable pour le C++ en deuxième année par exemple.
Parce que j'ai une fois écrit un programme relativement conséquent (ben t'as dû le faire aussi non ? Le BSQ de l'année dernière) parfaitement fonctionnel sur ma machine et sur celle de la personne à 42 qui m'avait demandé de l'aider et qu'une fois ramené foireusement à le Norme, il ne fonctionnait plus qu'une fois sur deux sur ma machine, et une fois sur dix sur la sienne. Et je l'ai débuggué hein ! En long, en large, en travers et en détail... sans succès. Je dois avouer que ça a bien pourri cette Norme dans mon estime...
Comme on dit a Epitech, on ne met pas à la norme, on code à la norme ...
Matoux42
Citer : Posté le 01/01/2016 17:45 | #
Dans ce cas, pourquoi le cinéma n'est pas toujours en N&B ? On a des écrans Full HD, du scolling performant, pourquoi se faire chier à se limiter à 25 lignes ? (pour les colonnes, je comprend, dès que ça sort de l'écran c'est relou.
Enfin, je veux dire, si ma fonction fait 26 lignes, est-ce pour autant que mon code est crade ? Ok, si elle fait 1500 lignes y'a surement un problème, mais 50 lignes pour une fonction ça reste parfaitement lisible, organisé et propre.
J'ai un petit jeu, et pour l'inventaire j'ai ces fonctions : afficher, acheter, vendre, information, mettre, enlever. Merde, 6 fonctions. Je fais quoi ? Un nouveau fichier ?
Ce qui rejoint l'argument de Lephenix « mais de lister suffisamment de règles inutiles pour que tout le monde ait exactement le même programme au caractère près ! »
Je suis désolé, mais pour moi,
for(i = 0; i < 10; i++)
printf("%d ", i);
/* Est bien plus lisible que ça (outre les accolades, indentation, etc qui sur le forum sont chiant à mettre en place) */
i = 0;
while(i < 10)
{
printf("%d ", i);
i = i + 1;
}
Qu'on apprenne les bonnes habitudes, d'accord. Mais c'est pas une raison pour mettre un 0 à un exo parce que y'avait 6 fonctions au lieu de 5 dans un fichier (#moulinette). C'est ce que je reproche à ce genre d'école : c'est prétentieux de noter du code via un algorithme.
Citer : Posté le 01/01/2016 18:28 | #
C'est ce que je reproche à ce genre d'école : c'est prétentieux de noter du code via un algorithme.
Bah, noter via un algorithme est compréhensible, tout dépend de cet algo. Prologin note avec un algorithme, et nos DS sur machine fonctionnent de la même manière. Le but est alors d'évaluer la capacité à produire un programme fonctionnel et efficace (en temps comme en mémoire). Mais à côté on a des DS écrits où on attend de nous un code très propre et par exemple on perd la moitié des points sur un algo où on a mis if condition then true else [...] au lieu de condition or [...]
Citer : Posté le 01/01/2016 18:33 | #
Prologin ne note pas la façon dont tu code, mais le résultat. Et je ne crois pas (à confirmer) que à Epitech ou 42 ils aient des DS papier où la forme est notée.
Qu'on note le fond via un algo, je trouve cela normal et parfaitement justifié. C'est dès qu'on s'attaque à la forme que je trouve ça un peu prétentieux (sous entendu, en quoi la machine est capable de dire si tu as *bien* codé ou non un algo, si le résultat est correct).
Citer : Posté le 01/01/2016 18:55 | #
Qu'on note le fond via un algo, je trouve cela normal et parfaitement justifié. C'est dès qu'on s'attaque à la forme que je trouve ça un peu prétentieux (sous entendu, en quoi la machine est capable de dire si tu as *bien* codé ou non un algo, si le résultat est correct).
Oui, je pense tout comme toi : l'algo doit se contenter de mesurer ce qui est objectivement mesurable : résultats et performances. Prologin a une épreuve écrite d'ailleurs, et en prépa nous en avons aussi.
Citer : Posté le 01/01/2016 20:28 | #
La norme, c'est comme pour l'orthographe, tu poura tjrs noté 1 redac unikmen sur le fé kel respekt ou nn le sujet, mé l'ortograf c 1portan.
De plus, une faute de norme est égale à '-1', donc quelqu'un qui ne voudrait pas perdre 30 secondes de sa vie pour créer deux fichiers au lieu d'un seul (ça s'appelle la paresse, mais t'inquiète, ça se soigne ; ) ), n'aurait donc qu'un point en moins.
Matoux42
Citer : Posté le 01/01/2016 20:31 | #
Ah oui, et
i = 0;
while (i++ < 10)
printf("%d", i);
marche aussi, et ça ne fait qu'une ligne en plus (et c'est parfaitement lisible et compréhensible).
Matoux42
Citer : Posté le 01/01/2016 20:34 | #
Tiens, je ne pense pas me tromper en disant que tu étudie à 42 et que tu apprécie cette école.
Au fait, tu n'as pas besoin d'être désobligeant pour te faire comprendre.
Citer : Posté le 01/01/2016 20:40 | #
Tu te trompes, je suis à Epitech Lyon mais j'apprécie effectivement cette école ; )
Je ferais preuve de plus de respect quand les autres feront de même.
Matoux42
Citer : Posté le 01/01/2016 20:41 | #
Personne ne t'as manqué de respect, nous sommes sur un site civilisé, restons corrects en tous points
Citer : Posté le 01/01/2016 21:08 | #
Je ferais preuve de plus de respect quand les autres feront de même.
Eh, t'emporte pas. Nous menons un débat, je ne vois là aucun irrespect mais seulement des opinions contraires à la tienne.
Tu as le droit d'apprécier ton école, et cela n'empêche pas de discuter du bien-fondé de certains de ses choix. En tout cas, quoi que tu en penses, laisse-nous le droit d'en penser autrement.
La norme, c'est comme pour l'orthographe
Euh... non, pas du tout. La syntaxe d'un langage, c'est l'orthographe. Les conventions universelles de codage aussi à la limite. Mais la Norme, c'est comme si, spécifiquement sur Planète Casio, j'ajoutais des règles de rédaction des messages. Eh bien on peut être très attaché à l'orthographe et pas adhérer à ces règles car on trouve qu'elles brident celui qui a envie d'écrire ici.
Citer : Posté le 01/01/2016 21:54 | #
En résumé, je trouve ça plutôt débile pour la plupart de ces normes, voilà tout...
Mais c'est con ?!
=> Ce sont des marques d’irrespect.
"Je trouve que cet homme fait de la merde." => irrespect
"Je ne suis pas d'accord avec ce que fait cet homme." => respect
J'ai fait preuve d'autant de respect que les autres : "tous ceux qui prennent l’épée périront par l’épée".
La norme, c'est comme pour l'orthographe
Dans ce cas, je parle d'orthographe car cela y ressemble sur beaucoup de points :
On pose des conventions pour que tout le monde écrivent de la même manière, et ça impliquent des règles qui pourraient sembler, voir qui sont, lourdes. Par exemple, on pouré suprimé les letre double ou muete et remplacé tou les son par 1 seul s1bol.
cenventions
Matoux42
Citer : Posté le 01/01/2016 21:57 | #
Je trouve certaines de ces normes débiles, je vois pas en quoi je te manque de respect ? C'est mon opinion, si je trouve ça débile, ça ne te concerne en aucun cas, à moins que tu n'aies écrit ces normes... Et dans ce cas, on pourrait en débattre au lieu qu'il y ait manque de respect.
Si Legolas trouve ça con, c'est son droit aussi, même si c'est mal dit
Si à chaque fois que quelqu'un critiquait quelque chose qu'une autre personne aime et que cette personne qui aime cette chose critiquait ce quelqu'un, ce serait le bordel, tu ne crois pas ?
Citer : Posté le 01/01/2016 22:18 | #
Tout d'abord, je remarque qu'aucun lien vers un document officiel présentant une norme type 42/Epitech/etc n'est présent. Je me permets d'en ajouter un : la norme de 42, version 2.0.0 (l'actuelle, normalement).
Ensuite, je vais tenter de récapépéter histoire d'avoir les idées claires.
L'ensembles des reproches faits aux Normes (si j'ai bien récapépété) sont les suivants :
- Elles ne permettent pas d'exploiter/de découvrir l'ensemble des possibilités d'un langage, et forcent même à utiliser certains outils "moins adaptés" au lieu d'autres. (ex: while/for)
- Des programmes fonctionnels ne le sont plus ramenés à la Norme.
Il semble qu'une chose très importante soit oubliée dans l'ensemble des réponses de ce topic : 42, Epitech, ... sont des écoles, leur but est donc d'éduquer, de créer un contexte favorable à l'apprentissage. La Norme fait partie des moyens mis en oeuvre pour créer ce contexte.
Dans leur vie professionnelle il n'utiliseront jamais l'API d'Unix...
Dans ce cas, pourquoi le cinéma n'est pas toujours en N&B ?
« allez lire les sources de glibc, du moteur 3D Ogre, de Qt, ou de Webkit, et puis on en reparle »
Le but de 42 est de faire partir les étudiants d'une base suffisamment basse pour faire comprendre ce qu'il y a derrière les outils standards. Dans ces citations, vous évoquez ici l'utilisation d'une telle Norme dans le cadre d'un gros projet, professionnel. Nope, nope, nope, et re-nope. On en revient au début. Ces Normes sont là pour faire partir les étudiants sur un chemin, sur une base. Heureusement que ceux-ci vont en dévier !
Cette histoire de N&B me permet d'ailleurs d'ajouter que c'est ce que je fais là. Je pourrais directement faire des trucs de malade, des animations 4D de malade avec des librairies graphiques de fous furieux ! Mais je comprendrais rien à ce que je fais. Alors que partir avec une CASIO, un écran monochrome, des encodages de police d'écritures, d'images, des syscalls, etc, ça me permet de comprendre progressivement ce qu'il y a derrière, et de savoir le réutiliser en cas de besoin.
Mais à ce compte là pourquoi on refait pas les bases jusqu'à assembler le binaire à la main ?
Pour la même raison que mon prof de prépa a commencé avec des trucs proches de ce qu'on faisait en terminale : pour ne pas nous décourager. Au-delà de simplement éduquer, idéalement, une école est également là pour nous encourager à apprendre. (bon après, je vais pas aller jusqu'au bout de ce débat-là, hein, lol)
ne pas utiliser de boucle itérative (for), mais les remplacer par des boucles conditionnelles (while)
Je trouve ça vraiment crétin. Les boucles itératives ont, pour moi, une utilisation complétement différente de celle de while. Devoir itérer un tableau avec un while est, pour moi, la manière la plus dégueulasse qui soit.
La restriction des possibilités du langage nous fait nous perdre moins de temps sur cette idée des "est-ce que c'est adapté ? tu préfères en vert ou en bleu ?". (celui qui dit en rouge, je lui donne une tape sur la joue)
On est moins concentrés sur le langage en lui-même, et plus sur ce qu'on en fait, sur l'algorithmique qu'il y a derrière. On comprend tous le langage, les opérateurs utilisés, etc, lorsqu'on se corrige. C'est l'algorithmique qui anime nos corrections, nos discussions. C'est le plus important, c'est ce qu'on est là pour apprendre, au-delà de leur application.
Enfin, je veux dire, si ma fonction fait 26 lignes, est-ce pour autant que mon code est crade ? Ok, si elle fait 1500 lignes y'a surement un problème, mais 50 lignes pour une fonction ça reste parfaitement lisible, organisé et propre.
Avoues, tu aurais dit la même chose si la limite était de 50 lignes pour 51
Qui plus est, à partir d'un certain nombre de lignes, le message de la Norme est : tu aurais dû décomposer. Le nombre 25 a été choisi pour des raisons historiques, semble-t-il, m'enfin, il faut bien en choisir un.
Troisièmement, les 5 fonctions par fichier obligent à organiser son code.
J'ai un petit jeu, et pour l'inventaire j'ai ces fonctions : afficher, acheter, vendre, information, mettre, enlever. Merde, 6 fonctions. Je fais quoi ? Un nouveau fichier ?
Et pourquoi pas ? Qu'est-ce que ça coûte de créer un nouveau fichier ? Ca ne peut que t'aider à mieux décomposer ton code.
Et pour avoir entretenu un fichier de plus de 1000 lignes en 3ème, crois-moi, cette incitation à décomposer ton code, elle ne peut pas être négative. (olala, c 1 extrèm é tou -- oui, m'enfin)
plus on a de contraintes, moins on se concentre sur la réalisation d'un code propre et fonctionnel
Le BSQ de l'année dernière) parfaitement fonctionnel sur ma machine et sur celle de la personne à 42 qui m'avait demandé de l'aider et qu'une fois ramené foireusement à le Norme, il ne fonctionnait plus qu'une fois sur deux sur ma machine, et une fois sur dix sur la sienne. Et je l'ai débuggué hein ! En long, en large, en travers et en détail... sans succès. Je dois avouer que ça a bien pourri cette Norme dans mon estime...
Comme le dit si bien Matoux42 (pour l'avoir vécu lors de la piscine) :
Comme on dit a Epitech, on ne met pas à la norme, on code à la norme ...
En effet, la Norme est faite pour qu'on crée et organise son code avec. Créer un système dans la norme POSIX est à mon avis plus facile que d'adapter Windows NT à cette norme.
Et petits apartés :
Et je ne crois pas (à confirmer) que à Epitech ou 42 ils aient des DS papier où la forme est notée.
Lors des examens, la Norme n'est pas appliquée, seuls les résultats (avec catch de timeout, segfault, etc) sont évalués.
Mais alors qu'ils expliquent aux élèves comment le for, la stdlib et les entrées/sorties fonctionnent, qu'ils leur fassent réécrire printf() en entier s'ils le veulent
Beh justement, y a quelque chose qu'on appelle la libft : c'est une lib qu'on fait évoluer selon nos besoins, dans laquelle on ajoute ce qu'on veut, et qu'on peut utiliser dans tous les projets (je n'ai encore vu aucune exception). Et d'ailleurs...
Mon blog ⋅ Mes autres projets
Citer : Posté le 01/01/2016 22:19 | #
Bin, calmez-vous, j'ai pas envie de faire du ménage de façon despotique. Surtout que la dernière fois qu'on s'est vu t'étais plutôt sympa.
Matoux, est-ce que peux juste répondre de manière argumentée à quel est l'intérêt pédagogique de remplacer les for par du while ?
Idem, de limiter drastiquement les lignes dans un fichier ? Parce qu'un code de 25 lignes non commenté est plus compréhensible qu'un code 50 lignes commenté ?
Ajouté le 01/01/2016 à 23:07 :
Il semble qu'une chose très importante soit oubliée dans l'ensemble des réponses de ce topic : 42, Epitech, ... sont des écoles, leur but est donc d'éduquer, de créer un contexte favorable à l'apprentissage. La Norme fait partie des moyens mis en oeuvre pour créer ce contexte.
C'est bien ce que je reproche à cette norme, c'est de ne pas être pédagogique du tout : on vous apprend pas à faire du code propre, mais du code qui respecte des règles arbitraires. C'est comme si en français on demandait aux élèves de ne faire que des dissertations en 5 paragraphes, sinon c'est 0. Quel est l'intérêt pédagogique ?
À la rigueur, qu'on fasse refaire la stdlib, soit. Mais qu'on interdise d'utiliser les bases, je suis sceptique…
Donc j'en déduis qu'on vous apprend à utiliser des trucs à mauvais escient ? Enfin, sans se demander si c'est adapté ou non. Pas mal comme pédagogie.
L'excellence, c'est de maitriser les deux, pas de faire impasse sur un point qui fait chier.
Ce que je reproche, c'est pas ce que soit 25, 50 ou 100 lignes. C'est qu'on note la propreté d'un code à son nombre (arbitraire) de lignes (ou de colonnes, etc.). Un peu manichéen comme vision des choses non ?
Autant faire un fichier par fonction, ce sera bien décomposé non ? Et puis, quel est l'intérêt de décomposer quelque chose qui est plus logique que certaines fonctions dans deux fichiers, parce qu'un type a décrété que au delà de x fonctions dans un fichier, c'est sale.
Je suis très bien capable de décomposer un code sans me limiter à x fonctions par fichier.
Merci pour l'info.
Z'avez raison les gars, c'est une bonne idée de mettre à la benne le code de ceux qui l'ont pondu pour vous. Après tout, réinventer la roue, c'est tellement plus amusant.
Au final, je trouve que la Norme est limite vicieuse : à force de s'habituer à un certain type de code, vous risquez d'avoir du mal à relire le code de quelqu'un d'autre.
Sinon, y'a une moulinette de dispo sur le Web ? Voire si y'a pas des failles dedans, histoire de s'amuser un peu
Citer : Posté le 01/01/2016 23:30 | #
C'est comme si en français on demandait aux élèves de ne faire que des dissertations en 5 paragraphes, sinon c'est 0. Quel est l'intérêt pédagogique ?
On ne leur dit pas de faire leurs dissertations en 5 paragraphes, on leur dit "faites ça en maximum 300 lignes". C'est pas un ==, c'est un <=. (EDIT : ouais, plus j'y pense, plus j'ai l'impression que cette comparaison est foireuse. m'enfin, l'idée est là, quelque part)
Donc j'en déduis qu'on vous apprend à utiliser des trucs à mauvais escient ? Enfin, sans se demander si c'est adapté ou non. Pas mal comme pédagogie. :P
C'est surtout que c'est la base, et qu'on peut tout faire de la base.
L'excellence, c'est de maitriser les deux, pas de faire impasse sur un point qui fait chier.
Certes, mais il faut bien commencer quelque part, non ? 42 souhaite accueillir des gens ayant une expérience comme n'en ayant aucune. Une fois la logique acquise, il devient intéressant de s'intéresser au langage. (bien que je sois d'accord que les langages peuvent aider à comprendre la logique dans leur syntaxe, comme le caml light pour le récursif par exemple)
Mais qu'on interdise d'utiliser les bases, je suis sceptique…
On a le droit d'utiliser selon les cas le open/close, le write/read, le malloc/free. Avec ces bases, on peut faire beaucoup de choses, tu ne penses pas ?
Après tout, réinventer la roue, c'est tellement plus amusant.
C'est surtout qu'en plus de nous apprendre comment qu'c'est fait, ça nous entraîne
Au final, je trouve que la Norme est limite vicieuse : à force de s'habituer à un certain type de code, vous risquez d'avoir du mal à relire le code de quelqu'un d'autre.
On s'habitue pour le début, et c'est beaucoup plus facile pour apprendre. Quand tu commences à apprendre à parler, tu veux apprendre quatre langues en même temps, toi ? Commencer à apprendre le français pour ensuite partir sur d'autres langues me semble plus raisonnable. La diversité de ce côté-là viendra donc après.
Je suis très bien capable de décomposer un code sans me limiter à x fonctions par fichier.
D'autres, ayant une moindre expérience ou non, moins.
Sinon, y'a une moulinette de dispo sur le Web ? Voire si y'a pas des failles dedans, histoire de s'amuser un peu
Nop. A une époque, c'était vraiment un logiciel, qu'il était donc possible de copier (ce que des gens avaient fait ici), mais ils utilisent maintenant un serveur auquel on ne peut faire des requêtes qu'en étant connecté au VPN de 42, donc pas trop possible de voir le code source.
Me semble qu'ils parlaient de poster leur code quelque part, m'enfin, personne avait l'air d'y croire si je me souviens bien. 'pis bon, c'est le bocal, quoi. (cela dit, y a des norminettes faites par des étudiants si tu veux tester )
Mon blog ⋅ Mes autres projets
Citer : Posté le 02/01/2016 00:47 | #
Matoux, est-ce que peux juste répondre de manière argumentée à quel est l'intérêt pédagogique de remplacer les for par du while ?
Je ne vais pas y aller par quatre chemin : je ne suis pas d'accord avec la norme d'Epitech/42 sur plusieurs points :
- pas de for
- pas de do while
- pas de switch
Les deux premières peuvent être assez facilement remplacées, sans beaucoup plus de code, je vous avoue que je n'ai jamais senti un grand manque de for, et je n'ai déploré le do while qu'une ou deux fois.
Le switch me manque un peu plus, je le reconnais.
MAIS la norme (je le répète pour la 42è fois) a un but pédagogique, et n'est donc pas appliquées aux exams et à certains modules, et n'est faite que pour le C. En C++ par exemple, la seule chose, me semble-t-il, est que l'on ne peut pas utiliser le "using namespace".
Après, dans les cas où la norme n'est pas imposée, je ne la respecte pas uniquement pour le switch, puisque le do while n'est quasiment pas utile et j'ai pris l'habitude de remplacer for par while, ce qui ne coute quasi rien.
Idem, de limiter drastiquement les lignes dans un fichier ? Parce qu'un code de 25 lignes non commenté est plus compréhensible qu'un code 50 lignes commenté ?
Je ne commente pas mes codes, (sauf pour organiser mes headers) et, de toute manière, la norme n'autorise pas de commentaire à l'intérieure des fonctions.
Concernant le nombre de ligne, c'est quelque chose que je considère pas comme critiquable: il force à synthétiser et organiser son code, et, je vous montrerais bien deux de mes codes, avant et après Epitech, la différence est sans appel.
Je n'ai jamais codé aussi proprement que depuis que je suis Epitech. En plus, quand on sais ce qu'on veut mettre dans une fonctions, la faire en 25 ligne est assez facile.
Autant faire un fichier par fonction, ce sera bien décomposé non ? Et puis, quel est l'intérêt de décomposer quelque chose qui est plus logique que certaines fonctions dans deux fichiers, parce qu'un type a décrété que au delà de x fonctions dans un fichier, c'est sale.
Avant d'être mort tu es vivant ! Malheureusement, la moulinette, comme le reste de l'info en générale, est manichéenne. Tout comme pour le nombre de ligne, tu peux pas demander à la moulinettes de tolérer 81 colonnes, 26 lignes ou 6 fonctions, il faut poser une limite ! C'est ça qu'on appelle l'éducation, c'est savoir poser des limites.
Comme l'a dit Cakeisalie5, et comme tu l'a si bien repris après, Dark storm, que ce soit 25, 50 ou 100 lignes, et que ce soit 5 10 ou 50 fonctions, ce qui te choque, c'est le côté manichéen de la chose. Mais à ce moment là, aurais-tu une solution pour la moulinette ?
Citer : Posté le 01/01/2016 23:30 | #
Dark storm a écrit :
C'est comme si en français on demandait aux élèves de ne faire que des dissertations en 5 paragraphes, sinon c'est 0. Quel est l'intérêt pédagogique ?
On ne leur dit pas de faire leurs dissertations en 5 paragraphes, on leur dit "faites ça en maximum 300 lignes". C'est pas un ==, c'est un <=. (EDIT : ouais, plus j'y pense, plus j'ai l'impression que cette comparaison est foireuse. m'enfin, l'idée est là, quelque part)
Non cette comparaison n'est pas foireuse du tout, ce serait effectivement plus <= que ==, et du coups :
1.Explica en qué medida el documento 2 puede relacionarse con un aspecto de la noción«Espaces et échanges». (15 líneas)
2.Comenta libremente la frase del documento 3 (l. 1 y 2): “Por recomendación de la Unesco, las autoridades peruanas han limitado a 2.500 el número de visitas diarias a Machu Picchu el principal destino turístico del paíspara preservar el santuario.” (15 líneas)
Il y a effectivement une limite, même au bac ! Je rajoute même que ma prof d'Espagnol nous racontait que certains correcteur de l'académie (grenoble pour moi) comptaient le nombre de ligne, et si il excède le nombre indiqué, bah ils corrigent pas !
Matoux42
Citer : Posté le 02/01/2016 00:47 | #
Enfin, la manière dont je vois ça, c'est comme apprendre le français en disant "Avec 500 mots vous pouvez tout faire, utilisez pas les autres sinon vous serez perdus.". Je reconnais qu'au moins t'es tellement cadré que tu peux pas te planter ; mais si par malheur tu apprend un truc super utile, que tu comprends parfaitement, et que t'aimerai bien utiliser à bon escient, ben t'es niqué…
Ouais, pour ceux qui ont de grosses difficultés scolaires, je peux comprendre que le dictat de la Norme peut les aider à assimiler certains trucs. Mais c'est plus par automatisme que par compréhension que ça rentre dans ce cas.
En prépa, mon prof d'info nous apprend à coder proprement. Si il arrive pas à lire ton code facilement, il enlève des points. Comme tout bon prof, il donne des conseils, t'indique la bonne manière de faire, et te note en fonction. Mais en aucun cas il va t'obliger à faire exactement comme il veut.
Au passage, l'explication fournie dans la Norme de 42 sur l'imposition de celle-ci aux devoirs me convient pas car elle ne répond pas à la question du pourquoi pédagogique. Elle impose une vision des choses sans être suffisamment argumentée pour que je me dise "ouais, ils ont de bonnes raisons".
Sinon, ça vous dérange pas d'être noté par des machines sur la prétendue qualité de vos codes ? Je suis sur que je suis capable d'écrire un truc ignoble qui respecte la Norme. Et à l'inverse écrire un truc très propre qui ne le respecte pas…
Faut vraiment aimer chier du code pour pouvoir se contraindre à faire exactement comme un type a décrété. Ouais, je suis bien content d'être libre de mes choix algorithmiques. x)
Ajouté le 02/01/2016 à 00:56 :
No comment…
C'est le cas de le dire
Citer : Posté le 02/01/2016 02:11 | #
... à Epitech ou 42 ils aient des DS papier où la forme est notée. ....
Epitech est très stricte, si tu ne respectes pas les normes, alors tu risques d'avoir une note en dessous de 0/20, c'est que qu'un étudiant d'Epitech m'avait dit il y a 5 ans.
Après concernant les normes, je code un peu comme je veux, tant que ça reste lisible.