mageekblog - Pourquoi des classes sans majuscule dans atoum ? - CommentairesLe blog personnel de Frédéric Hardy. Au menu, PHP, agilité, FreeBSD, cuisine et photographies.2021-12-02T08:20:54+01:00Frédéric Hardyurn:md5:26874ca5b8cd4cac8d08b0e68e64f63aDotclearPourquoi des classes sans majuscule dans atoum ? - Amauryurn:md5:af45ee0253f6994bd6803083f3b925ea2012-09-28T10:53:22+02:002012-09-28T14:05:51+02:00Amaury<p>Juste un petit détail : En PHP, ça ne porte pas à conséquence. Par contre, je ne comprends pas vraiment pourquoi tu as développé une telle convention personnelle en faisant du C++.</p>
<p>En PHP :<br />
$aa = new Aa(); // c'est lisible<br />
$aa = new aa(); // mouais, pourquoi pas</p>
<p>En C++ :<br />
Aa *aa = new Aa(); // OK, ça roule<br />
aa *aa = new aa(); // *ça ne marche pas*</p>
<p>En Java :<br />
Aa aa = new Aa(); // OK<br />
aa aa = new aa(); // c'est censé marcher, mais c'est pas beau</p>
<p>Ça peut paraître con, mais c'est pour moi l'une des raisons pour lesquelles on s'est habitué à nommer les variables en lower et les classes en upper. Garder cet héritage en PHP n'a rien de choquant. Comme toute les conventions, elle fonctionne de par son fort taux d'utilisation général.<br />
Mais on est d'accord que tout ça est assez peu important au final.</p>Pourquoi des classes sans majuscule dans atoum ? - Cyranourn:md5:b8ef45d25740c8aa187b87cf364f1d332012-09-01T11:02:02+02:002012-09-02T18:55:15+02:00Cyrano<p>@Tatsu : le fait qu'il y ait débat présente tout de même un aspect intéressant. Ça dénote une forme de volonté de plus en plus généralisée de standardisation. De ce point de vue, c'est encourageant pour l'ensemble des développeurs.</p>Pourquoi des classes sans majuscule dans atoum ? - Matthieuurn:md5:55466c86c0d6867fc2f06f28943c926e2012-08-31T16:05:19+02:002012-08-31T15:26:17+02:00Matthieu<p>@<a href="http://blog.mageekbox.net/?post/2012/08/29/Pourquoi-des-classes-sans-majuscule-dans-atoum#c4310" rel="nofollow">mageekguy</a> : L'autocomplétion des IDE va compléter avec la "case" du code. Si ton framework est en camelCase, alors l'autocomplétion va compléter en camelCase. Oui, on peut ne pas utiliser l'autocomplétion, ou ignorer la case. Personnellement je trouve ça un peu bizarre, ça va à l'inverse de la tendance générale et ça n'est pas invisible pour l'utilisateur (cf. autocomplétion). Attention : je trouve ça bizarre, voire un peu gênant, mais c'est ce que j'en pense, c'est tout, ça n'est pas une vérité objective absolue <img src="/themes/default/smilies/wink.png" alt=";)" class="smiley" /></p>Pourquoi des classes sans majuscule dans atoum ? - Yoturn:md5:a6ebbf4c914d257da26d566fe75444de2012-08-30T17:50:39+02:002012-08-30T22:00:19+02:00Yot<p>@<a href="http://blog.mageekbox.net/?post/2012/08/29/Pourquoi-des-classes-sans-majuscule-dans-atoum#c4310" rel="nofollow">mageekguy</a> : Bon ok j'ai rien dit ... Trop fait de java dernièrement :D</p>Pourquoi des classes sans majuscule dans atoum ? - mageekguyurn:md5:f11e47269d48d40c26379c59408d07d92012-08-30T17:06:33+02:002012-08-30T16:07:04+02:00mageekguy<p>@<a href="http://blog.mageekbox.net/?post/2012/08/29/Pourquoi-des-classes-sans-majuscule-dans-atoum#c4307" rel="nofollow">Yot</a> : Je répète : PHP est insensible à la casse en ce qui concerne les noms de classe.</p>Pourquoi des classes sans majuscule dans atoum ? - Yoturn:md5:f189254b8e64f954d2084f43990e5a492012-08-30T16:03:32+02:002012-08-30T16:07:04+02:00Yot<p>@<a href="http://blog.mageekbox.net/?post/2012/08/29/Pourquoi-des-classes-sans-majuscule-dans-atoum#c4306" rel="nofollow">Tatsu</a> : Le code, on ne le lit pas seulement, on l'écrit aussi, en se basant sur ce que les autres ont déjà écrits.</p>
<p>L'autocomplétion n'étant déjà pas extraordinaire en PHP, ne pas savoir une fois sur deux si la classe que l'on veut utiliser commence par une majuscule ou non, c'est tout simplement chiant... Ca oblige à devoir aller vérifier, ou se tromper une fois sur deux. Les conventions sont là pour faciliter le travail des développeurs (et améliorer la qualité intrinsèque du logiciel accessoirement), ne l'oublions pas.</p>Pourquoi des classes sans majuscule dans atoum ? - Tatsuurn:md5:78e741a752abc5527acb61403a771ed72012-08-30T12:30:10+02:002012-08-30T11:59:36+02:00Tatsu<p>Autant je comprends l'idée des conventions de codage, autant en arriver à faire des débats de ce type me dépasse. C'est pas comme si on parlait d'un truc qui va fondamentalement changer le code et les effets de celui-ci sur l'application.</p>
<p>Pour faire le parallèle, en français (et pas que d'ailleurs, mais simplifions ^^) on utilise les majuscules en début de phrase par convention. Pourtant, il arrive très souvent quand on écrit, notamment en messagerie instantanée, d'omettre ces majuscules. La compréhension du texte, son sens, rien de ces phrase n'est altéré. Ce n'est donc pas plus gênant que ça.</p>
<p>Pour moi, c'est la même chose en codage. D'ailleurs, je m'en fous tellement des majuscules que je ne pense pas que je m'en rendrai compte avant un bon moment si les classes que j'utilise étaient écrites en ""lowerCamelCase" ^^</p>Pourquoi des classes sans majuscule dans atoum ? - Séburn:md5:8aab6e308536c279c054a548fd112daa2012-08-30T03:53:53+02:002012-08-30T09:23:02+02:00Séb<p>Il y a les conventions... et les goûts personnels. C'est pas ça qui fait la qualité d'un logiciel.</p>
<p>Perso, j'ai fait quelques essais et j'ai fait un choix purement esthétique (et subjectif évidemment) : CamelCase pour les classes et underscore_case pour les méthodes/traits/variables.</p>
<p>Après, évidemment, si on travaille sur un projet qui a déjà ses propres conventions, il faut s'adapter.</p>Pourquoi des classes sans majuscule dans atoum ? - mageekguyurn:md5:bcd4fbd58e28ff25279b82a3c3d8fff92012-08-29T16:40:46+02:002012-08-29T15:41:12+02:00mageekguy<p>@<a href="http://blog.mageekbox.net/?post/2012/08/29/Pourquoi-des-classes-sans-majuscule-dans-atoum#c4300" rel="nofollow">neolao</a> : <troll>Encore une raison supplémentaire de ne pas suivre cette convention !</troll></p>Pourquoi des classes sans majuscule dans atoum ? - neolaourn:md5:678fc6e5d166759760c5d038c44d3e5f2012-08-29T16:19:25+02:002012-08-29T15:40:37+02:00neolao<p>Juste pour info, quand la première lettre est en majuscule, on dit PascalCase.</p>Pourquoi des classes sans majuscule dans atoum ? - Yoturn:md5:18de8077800ae2a6757109dc7152169a2012-08-29T13:38:53+02:002012-08-29T13:26:31+02:00Yot<p>Le fait est que, pour 90% des conventions de codages et surtout des API standards, une classe commence par une majuscule.</p>
<p>- Java : convention Sun et l'intégralité de l'API<br />
- PHP : conventions PHP (2000), Zend, Symfony, Pear. L'API PHP utilise des majuscules aussi (DateTime, Mysqli... pour une fois que quelque chose est standardisé en PHP !)<br />
- Javascript pour l'API (Math.floor), convention Google JS Style Guide<br />
- C<ins> : conventions Cpp standards, Google C</ins> Style Guide ...<br />
- Mais également Python, Ruby, ActionScript, ObjectiveC, Perl6, Ada (Majuscule et underscore), Eiffel (Majuscule)...</p>
<p>En me creusant l'esprit, je ne vois aucun langage usuel et manipulant des classes qui ne préconise pas de mettre une majuscule à la première lettre d'une classe.</p>
<p>Tout ça pour dire qu'effectivement, chacun code bien comme il veut ses projets, surtout si ça reste dans ton API interne. Cependant, c'est n'est pas non plus une mauvaise chose de respecter les conventions communément admises. D'autant plus qu'Atoum est un projet communautaire.</p>
<p>Pour fini, oui, c'est effectivement plus "ergonomique", en tout cas plus simple, de travailler avec des API qui respectent toutes les même standards. PHP a les siens, et ce n'est absolument pas Symfony qui en est à l'origine (2003 <a href="http://www.dagbladet.no/development/phpcodingstandard/" title="http://www.dagbladet.no/development/phpcodingstandard/" rel="nofollow">http://www.dagbladet.no/development...</a> )</p>