Aller au contenu

Le code d'APB enfin divulgué !


Bézoukhov

Messages recommandés

Mon Dieu, du gros Oracle qui tache, manipulé par des incompétents, imprimé en non-monospacé sans structure de la base, avec des curseurs dégueulasses dans des boucles à la con, des noms de variables et de colonnes complètement illisibles, et même des fautes d'orthographe dans les commentaires... :wallbash:

  • Yea 1
Lien vers le commentaire

La ligne avec marqué "Erreur Oracle" m'a bien fait rire :D.

Nan mais là il renvoie juste le code de l'erreur qui n'était pas prévue, avec le message qui va avec. C'est peut-être le moins pire dans tout ça... :(
Lien vers le commentaire

Je comprends mieux pourquoi j'ai été admis à l'époque, ça doit être une erreur.

Wow, le gros code qui tâche. Dommage que l'on n'ait qu'une partie (sans structure de la base, sans les procédures stockées, et sans le code applicatif).

 

D'autre part, je crois que l'on peut décerner la palme d'or de la filsdeputerie au gars qui a décider de faire envoyer le code source suite à la demande d'une association par... courrier en plusieurs dizaines de pages, qui plus est sans la structure de la base de données. A moins que ça ne soit une obligation légale?

Lien vers le commentaire

Objectivement, ça m'a fait rire parce que "Oracle" me fait penser à "Rincevent adore Oracle". Et que j'étais convaincu que tu répondrais du tac'o'tac sur ce sujet.

Mais de toute façon ça se voit dès les premières lignes que c'est du gros PL/SQL mal moulé. :lol:
Lien vers le commentaire

Je comprends mieux pourquoi j'ai été admis à l'époque, ça doit être une erreur.

Wow, le gros code qui tâche. Dommage que l'on n'ait qu'une partie (sans structure de la base, sans les procédures stockées, et sans le code applicatif).

Tant de gens ne comprennent pas que le code, ce n'est pas que le DQL et le DML, mais aussi le DDL, que c'en est désespérant... :(
Lien vers le commentaire

Et bien notamment parce que ce code est court parce que fractionnaire, comle on l'a dit. Aux codeurs à chier, les horreurs n'attendent pas le nombre des lignes de code empilées.

  • Yea 1
Lien vers le commentaire

 C'est typique du code risquant l'explosion en vol à la première modification (c'est juste un gros switch-case). Vu que c'est pas du calcul haute performance ils auraient mieux fait de prendre un langage plus expressif. A mon avis on pourrait faire un truc en Prolog lisible ou bien séparer proprement les contraintes de l'algo général d'affectation.

Lien vers le commentaire

Vu qu'il y a des pros du code sur le forum et que je suis en reconversion dans ce secteur, je suis pour une critique un peu plus détaillé avec 2/3 exemples argumentés :icon_wink:

J'approuve.

Vu que maintenant moi aussi je fais du SQL et noSQL, je m'amuse bien à voir que ce code est plus dégueulasse que celui que j'ai eu à rendre en M1.

Lien vers le commentaire

Y'a pas vraiment besoin d'aller très loin.

- commentaires trop rares et mal foutus alors que le code est peu explicite

- noms de variables cryptiques

- rien que le choix de ce langage pour ce type de problème montre une expertise ... fragile. En gros, faire un automate à états finis (ou plutôt, comme le dit Kassad justement, "un gros switch case") avec du SQL c'est inutilement sordide.

  • Yea 1
Lien vers le commentaire

Et même si on veut faire du SQL (après tout ça peut être un bon choix pour accéder à des données structurées), il n'y a à peu près aucune bonne raison dans ce contexte d'employer des curseurs, vestiges d'un passé où les langages de programmation traitaient ligne par ligne, et où la RAM était trop petite pour contenir davantage qu'une petite partie d'une table.

Lien vers le commentaire

J'ai eu du mal à reconnaitre le PL / SQL d'Oracle tellement c'est mal présenté / indenté.

 

En creusant un peu, je suis tombé sur des infos fourni par quelques fous qui se sont penché sur le truc et ont tenté une analyse. Ca se passe ici pour les curieux:

 

http://ingenuingenieur.blog.lemonde.fr/2016/10/19/apb-ce-quune-premiere-analyse-du-code-source-nous-revele/

 

Ca a été posté sur github ici:

 

https://github.com/jeantil/admission_post_bac/tree/master/src

 

 

En gros, on a demandé de fournir l'algo à l'ednat, ca les gonflait, mais la loi les y obligent, ils ont donc envoyé un truc tout pourri imbitable et imprimé sur papier en plus. C'est ce qu'on appelle du foutage de visage.

 

Quand on pense que l'orientation des bacheliers, donc plus ou moins leur avenir, dépend de cette horreur... Ca laisse rêveur.

Lien vers le commentaire
  • 1 year later...

Pas trop le temps de regarder, mais une recherche élémentaire trouve deux déclarations de curseurs. C'est un très mauvais signe.

Lien vers le commentaire

lol première ligne de l'algo : "Copyright 2018, 2018 Hugo Gimbert (hugo.gimbert@enseignementsup.gouv.fr)"

Normalement, c'est (c) gouv.fr et pas autre chose. 

 

Sur le reste, pour ce que j'en ai vu, c'est nettement mieux écrit que la version précédente. Le PLSQL est encore assez moche, mais plus compact. C'est toujours moche, finalement, le plsql. Et java, c'est si verbeux...

Enfin bon. 

Tout ceci me paraît bien court pour traiter tous les cas possibles. Mais comme je ne connais pas tous les use cases, après tout, peut-être que ces 1000 lignes de codes (à la louche) suffisent.

Lien vers le commentaire
Il y a 2 heures, h16 a dit :

Mais comme je ne connais pas tous les use cases, après tout, peut-être que ces 1000 lignes de codes (à la louche) suffisent.

 

Ben le nouveau processus, si j'ai bien compris, les élèves ne classent pas leur vœux. Donc tu te trouves juste avec un algorithme du type :

si (Position dans la liste < Nombre d'acceptes au premier tour) alors (Accepte) sinon si (Position dans la liste < Taille de la liste d'attente) alors (Liste d'attente) sinon (Refuse) et toutes les variables en entrée sont définies par l'établissement. Ensuite, selon son statut, l'étudiant peut accepter définitivement ou non là où il est accepté.

 

En conséquence de ce choix politique débile, la moitié des gamins n'ont reçu aucune propale hier parce qu'on a choisi d'abandonner l'algorithme des mariages stables au profit de choix politiques débiles.

Lien vers le commentaire
Il y a 4 heures, h16 a dit :

lol première ligne de l'algo : "Copyright 2018, 2018 Hugo Gimbert (hugo.gimbert@enseignementsup.gouv.fr)"

Normalement, c'est (c) gouv.fr et pas autre chose. 

 

Sur le reste, pour ce que j'en ai vu, c'est nettement mieux écrit que la version précédente. Le PLSQL est encore assez moche, mais plus compact. C'est toujours moche, finalement, le plsql. Et java, c'est si verbeux...

Mouais, m'enfin y a toujours des curseurs (à quoi bon pondre du Java si c'est pour consulter une base comme en C ?). Et il manque toujours le DDL. C'est quand même un gros, gros signe de gens qui ne comprennent pas ce qu'est une base de données relationnelle.

Lien vers le commentaire

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...