05-09-2009, 11:28 PM
(05-09-2009, 10:07 PM)Zamentur a écrit : Oui ou utiliser un IDE comme Eclipse qui te fait las liste complète des méthodes et fonction et ou il suffit de cliquer pour atteindre ce que l'on souhaite...
Ceci étant dit j'avais jamais pensé à ce détail concernant le besoin de retrouver une fonction.
Un trucs de style dont je m'étonne qu'on en entend pas parler c'est la longueur des lignes. Sur Linux il est demandé de faire des lignes d'une taille maximum de 80 caractères, notamment parce que çà permet d'afficher correctement pour ceux qui ont des petit écran et donc de ne pas scroller horizontalement.
C'est aussi un avantage pour les grand écran car on peux alors utiliser des éditeur comme kate qui propose une vue simultané de 2 fichiers.
Je dis çà car je vois certains code qui dépasse largement les 100 caractères.
Personnelement je trouve toujours un code plus agréable quand les lignes ne sont pas trop longue. Pourtant j'ai un double écran 22 pouces/19 pouces!
Autre remarque de style, la façon dont vous formatez vos requêtes SQL, personnellement j'ai pas encore trouvé de solution idéal .
Dans le même genre que faites vous lorsque une condition est trop longue?
Pour la recherche, je recherche sur le mot def ma_fonction quand je souhaite avoir la définition. Mais bon, ça n'a jamais été un problème (malgré la grande quantité de méthodes définies dans les applications Ruby on Rails).
Au sujet des lignes, j'essaye de ne pas excéder 80. Je m'autorise toutefois jusqu'à 100 caractères si vraiment je ne peux pas découper (mais c'est rare).
Pour SQL, c'est simple, je n'en écris plus (ActiveRecord est vraiment un ORM puissant). Mais quand je suis amené à le faire (pour des amis ! iffle: ), je mets une clause par ligne avec un alignement des éléments. Ça ressemble globalement à ça :
SELECT T.column_a,
OT.column_b AS other_column_b,
OT.column_c,
OT.other_column_c
FROM first_table AS FT
LEFT JOIN other_table AS OT
ON OT.column_b = FT.column_a
WHERE column_a = 'value'
AND OT.other_column_c >= DATE_ADD(NOW(), INTERVAL 1 DAY)
Pour les conditions trop longues, je saute à la ligne :
Un petit défaut à mon goût dans Ruby, c'est que si je souhaite écrire le && en début de ligne, il faut mettre un antislash à la fin de la ligne précédente pour lui dire "je saute une ligne mais pas toi".
if my_method_with_a_long_name(param, other_param) \
&& my_other_method_with_a_long_name(yet_another_param)
@projects = Project.paginate :page => params[:page],
:include => [ :users, :tasks ]
end
Du coup comme je trouve ça moins joli, ben je mets mon && à la fin de la ligne précédente.
if my_method_with_a_long_name(param, other_param) &&
my_other_method_with_a_long_name(yet_another_param)
@projects = Project.paginate :page => params[:page],
:include => [ :users, :tasks ]
end
Sephi-Chan