Bonjour � toutes et � tous!
J'ai cod�/bricol� une petite lib pendant ma th�se, que j'ai utilis� sur Ubuntu, et aujourd'hui on a collabor� avec une chercheuse du domaine qui code sur mac. Outre le sentiment fort agr�able que le travail des trois ans de th�se va peut �tre pas partir de suite aux oubliettes () , y'a quand m�me quelques sp�cificit�s du travail � plusieurs � prendre en compte. Notamment le changement d'OS... Bon je m'attendais � ce qu'on rencontre quelques bricoles �videmment, et heureusement dans l'ensemble �a a �t� vite r�gl�.
Par contre j'avoue avoir �t� un peu surpris de voir la nature des probl�mes, je m'attendais pas � des probl�mes de cet ordre.
Par exemple je d�clarais ce constructeur par d�placement:
Ca passait sur mon syst�me mais pas sur mac. J'ai pas dit que �a aurait du passer incognito jusque l�: � vrai dire vous allez peut �tre br�ler ce constructeur pour h�r�sie. Je dis juste que c'est �tonnant de voir que le code qui passe sans souci chez A plante superbement chez B. Par contre ceci met tout le monde d'accord (je vais sans doute surprendre personne � part moi
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3 class MyClass { MyClass(MyClass&& other) noexcept = default; };)
Idem, j'avais oubli� un #include<functional> quelque part: �a passait cr�me chez moi, et �a plantait chez l'autre. Comment �a se fait que ce soit pass� inaper�u alors qu'on a compil� exactement le m�me code de tests unitaires ?
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3 class MyClass { MyClass(MyClass&& other) = default; }
Bref, au final c'est assez ironique, j'ai perdu beaucoup de temps � d�bugger �a parce que justement je pensais pas qu'un code qui compile quelque part puisse �tre en fait blind� de probl�mes. Ca m'a rappeler le temps perdu il y a un an � chercher une erreur au mauvais endroit parce que je partais du principe que mes tests �taient exhaustifs: ce matin je partais du principe que le compilateur de mon syst�me avait d�j� trouv� tous les d�fauts de mon code.
C'est ce genre de trucs auquel il faut s'attendre � l'avenir quand on va essayer de coder des truc Linux-mac compatibles ? Ou bien �a c'�tait juste le c�t� p�te-�-choux et y'a des truc horribles qui vont nous tomber sur les dents ?
PS: on le dit jamais assez mais vivent les batteries de tests unitaires
PPS: il faut vraiment que j'assainisse cette batterie de tests unitaires
PPS: encore merci � vous tous d'avoir insister pour que je fasse des tests unitaires![]()
Partager