{"id":26709,"date":"2017-06-17T11:03:19","date_gmt":"2017-06-17T11:03:19","guid":{"rendered":"https:\/\/dev.railscarma.com\/rails-development-coding-conventions-best-practices\/"},"modified":"2024-01-10T11:41:26","modified_gmt":"2024-01-10T11:41:26","slug":"meilleures-pratiques-des-conventions-de-codage-du-developpement-rails","status":"publish","type":"post","link":"https:\/\/www.railscarma.com\/fr\/blog\/articles-techniques\/meilleures-pratiques-des-conventions-de-codage-du-developpement-rails\/","title":{"rendered":"D\u00e9veloppement Rails\u00a0: conventions de codage et meilleures pratiques"},"content":{"rendered":"<div data-elementor-type=\"wp-post\" data-elementor-id=\"26709\" class=\"elementor elementor-26709\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-3cb0fa5 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"3cb0fa5\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-524f6358\" data-id=\"524f6358\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-41766eb elementor-widget elementor-widget-text-editor\" data-id=\"41766eb\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h4>Qu&#039;est-ce qu&#039;il y a dans un nom<\/h4>\n<p>A good name answers important questions. What does it contain? What does it mean? How would I use it?<br>\nWhat&nbsp; role&nbsp; does&nbsp; it&nbsp; play?<br>\nAlways name your methods based on their behaviour, not implementation.<br>\nConsider,<\/p>\n<p><a href=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/01\/1.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-26734\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/01\/1.png\" alt=\"coding\" width=\"610\" height=\"160\"><\/a><\/p>\n<p>By looking at the method name above, we can predict it\u2019s going to perform 2-3 database operations, but<br>\nwhen I\u2019m working in Business model, why would it concern me?<br>\nGoing&nbsp; by,&nbsp; naming&nbsp; method&nbsp; based&nbsp; on&nbsp; their&nbsp; business&nbsp; role,&nbsp; the&nbsp; method&nbsp; can&nbsp; be&nbsp; renamed&nbsp; as,<\/p>\n<p><a href=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/01\/2.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-26735\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/01\/2.png\" alt=\"Rails Coding\" width=\"424\" height=\"146\"><\/a><\/p>\n<h4><strong>D\u00e9nomination structurelle<\/strong><\/h4>\n<p>Another common strategy is to name things for their role in the program. It\u2019s the input or the output. It\u2019s the recurring phrase or the middle sentence.&nbsp; Consider the code for counting differences between two points;<code><\/code><\/p>\n<p><a href=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/01\/3-1.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-26736\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/01\/3-1.png\" alt=\"\" width=\"381\" height=\"104\"><\/a><\/p>\n<p>Here the arguments first and second are pretty vague, considering the fact that we\u2019re not even sure if the order matters. In this context, it doesn\u2019t.<br>\nI can then restructure my code as;<\/p>\n<p><a href=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/01\/4-1.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-26732\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/01\/4-1.png\" alt=\"des rails\" width=\"338\" height=\"102\"><\/a><\/p>\n<p>Ce que nous pouvons en conclure, c\u2019est que la premi\u00e8re \u00e9tape consistait \u00e0 d\u00e9crire le probl\u00e8me en anglais. Le calcul de la distance entre deux brins concerne le nombre de mutations rencontr\u00e9es entre les deux brins.<\/p>\n<h4><strong>Refactorisation<\/strong><\/h4>\n<p align=\"justify\">La r\u00e9organisation du code est g\u00e9n\u00e9ralement assez triviale. Le plus d\u00e9licat est de savoir par o\u00f9 commencer et de reconna\u00eetre que vous pouvez le faire. Pour surmonter cet obstacle, il suffit de le faire plusieurs fois. Trouvez un conditionnel et pour chacun de ses blocs, cr\u00e9ez un objet dont la seule responsabilit\u00e9 est de faire cette chose.<\/p>\n<p>Refactoring is about recognizing a snippet of code as exhibiting characteristics that are known to be problematic.Applying a change that is known to fix this category of problem.<br>\nThis problematic pattern is called Code Smell, \u201ccode smell is a surface indication that usually corresponds to a deeper problem in the system.\u201d \u2013 Martin Fowler<br>\nStarting small is never a bad idea, if you can refactor code at micro level, then when it all comes together, it will become a refactored code.<br>\nConsider two&nbsp;code snippets for example,<\/p>\n<p><a href=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/01\/5.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-26737\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/01\/5.png\" alt=\"sum\" width=\"315\" height=\"108\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/a><a href=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/01\/7.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-26739\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/01\/7.png\" alt=\"old\" width=\"281\" height=\"206\"><\/a><\/p>\n<p><span style=\"font-size: 16px;\">Quelle est la similitude entre les morceaux de code ci-dessus\u00a0? Les deux ont chaque boucle, et si nous essayons de trouver leur code qui sent mauvais,<\/span><br><\/p>\n<ul>\n<li>Une boucle avec une variable temporaire.<\/li>\n<li>Une boucle avec un conditionnel imbriqu\u00e9.<\/li>\n<\/ul>\n<h4><\/h4>\n<h4><strong>Essayons de les refactoriser<\/strong><\/h4>\n<p>La premi\u00e8re boucle n&#039;a qu&#039;une variable temporaire, qui peut \u00eatre corrig\u00e9e en utilisant &#039;inject&#039;<\/p>\n<p><a href=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/01\/6.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-26738\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/01\/6.png\" alt=\"numbers\" width=\"322\" height=\"180\"><\/a><\/p>\n<p>Celui-ci a deux variables temporaires et une boucle imbriqu\u00e9e, puisque nous essayons de les classer, sort_by devrait fonctionner !. Le code peut \u00eatre encore plus refactoris\u00e9, puisque nous essayons de trouver la valeur maximale, nous pouvons directement utiliser la fonction max_by ici,<\/p>\n<p><a href=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/01\/8.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-26740\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/01\/8.png\" alt=\"number\" width=\"439\" height=\"318\"><\/a><\/p>\n<h4><strong>Pratiques g\u00e9n\u00e9rales<\/strong><\/h4>\n<ul>\n<li>What if we devise a set of rules to follow while coding, that later on reduces our efforts in refactoring.<br>\nThe most basic and important point is FORMATTING. It sounds like the most obvious and easy thing to do but it\u2019s very important to format your code correctly. In terms of code readability, understanding for future references, and also while resolving conflicts that occur while merging two different branches.<\/li>\n<li>Lorsque vous \u00e9crivez une condition if avec plusieurs sous-conditions, essayez toujours de les ordonner de mani\u00e8re \u00e0 n\u00e9cessiter le moins d&#039;effort possible. Par exemple,<\/li>\n<\/ul>\n<p><a href=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/01\/9.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-26731\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/01\/9.png\" alt=\"des rails\" width=\"678\" height=\"103\"><\/a><\/p>\n<ul>\n<li>Si vous disposez d&#039;une grande partie de la logique, qui va tourner autour d&#039;une seule fonctionnalit\u00e9, essayez de la diviser en plusieurs m\u00e9thodes plus petites. Cela augmente la r\u00e9utilisabilit\u00e9 et il devient facile pour un nouveau d\u00e9veloppeur de comprendre facilement le code. Au lieu de tout \u00e9crire dans une seule m\u00e9thode et de lui donner l\u2019apparence d\u2019une logique complexe, divisez-la en morceaux de m\u00e9thodes plus petits et lisibles.<\/li>\n<li>Commentez votre code magique. Ruby fournit de nombreuses m\u00e9thodes de m\u00e9taprogrammation, qui permettent de r\u00e9duire vos efforts et de gagner du temps. Mais ils ne sont pas toujours aussi simples \u00e0 comprendre lorsque l&#039;on souhaite s&#039;y r\u00e9f\u00e9rer, c&#039;est toujours une bonne id\u00e9e d&#039;ajouter des commentaires appropri\u00e9s afin que lorsque vous reviendrez plus tard pour y jeter un \u0153il, il vous soit plus facile de vous reconnecter.<\/li>\n<li>Utilisez before_filter, au lieu de vous r\u00e9p\u00e9ter dans le contr\u00f4leur.<\/li>\n<li>Utilisez des rappels de mod\u00e8le pour \u00e9viter d&#039;\u00e9crire trop de code dans les contr\u00f4leurs pour les actions qui tournent autour des op\u00e9rations CRUD de base.<\/li>\n<li>FORMATING: there are certain gems which makes your life much easier : awesome_print ; pretty print ;&nbsp; rubocop.<\/li>\n<li>Suivez toujours la pratique de la r\u00e9vision de code dans Git. Le code \u00e9crit par un d\u00e9veloppeur doit \u00eatre examin\u00e9 par les autres membres de l&#039;\u00e9quipe avant de fusionner avec les branches principales, car cela permet d&#039;\u00e9liminer toute erreur potentielle ou r\u00e9sultat inattendu. Cela aide \u00e9galement \u00e0 tenir chaque membre inform\u00e9 et inform\u00e9 de ce sur quoi travaille son coll\u00e8gue.<\/li>\n<li>Les instructions qui s&#039;\u00e9tendent sur 80 caract\u00e8res doivent \u00eatre d\u00e9compos\u00e9es en lignes suivantes afin d&#039;\u00e9viter la barre de d\u00e9filement lors de l&#039;affichage du code sur d&#039;autres supports comme GitHub.<\/li>\n<li>Lorsque vous validez du code dans votre r\u00e9f\u00e9rentiel, git diff me dit ce que vous avez fait, votre message de validation devrait indiquer pourquoi vous avez fait cela.<\/li>\n<li>NE PAS OPTIMISER pour les performances \u2013 OPTIMISER POUR LA CLART\u00c9 DU CODE<\/li>\n<li>Les tests unitaires sont toujours une bonne id\u00e9e pour garantir que la fonctionnalit\u00e9 fonctionne comme pr\u00e9vu. Aide par aspect\u00a0: Rails g\u00e9n\u00e8re par d\u00e9faut un assistant pour chaque contr\u00f4leur. \u00c9liminez-les et essayez d&#039;utiliser des assistants orient\u00e9s aspect comme\u00a0; <strong>-&gt; link_helper &nbsp; &nbsp;&nbsp; &#8211;<\/strong><strong>&gt; menu_helper<\/strong><\/li>\n<li>Conform\u00e9ment \u00e0 la convention de MVC, il faut \u00e9viter d&#039;appeler la base de donn\u00e9es \u00e0 partir de la couche View. D\u00e9placez cette partie de votre code dans des contr\u00f4leurs pour garantir la s\u00e9paration des pr\u00e9occupations.<\/li>\n<li>R\u00e9duisez les appels aux bases de donn\u00e9es. Si une page souvent visit\u00e9e d\u00e9clenche plusieurs appels vers la base de donn\u00e9es, cela vaut la peine de consacrer un peu de temps \u00e0 r\u00e9duire le nombre d&#039;appels \u00e0 quelques-uns seulement. Dans de nombreux cas, il s\u2019agit simplement d\u2019utiliser .includes() ou .joins().<\/li>\n<li>Il devient fastidieux de v\u00e9rifier la structure de votre mod\u00e8le de temps en temps. Pour cela, incluez la structure de votre mod\u00e8le en haut du fichier comme r\u00e9f\u00e9rence.<\/li>\n<\/ul>\n<p>J&#039;esp\u00e8re que cela a aid\u00e9\u00a0! Se d\u00e9connecter, <strong>Niyanta<\/strong><\/p>\n<p><span style=\"border-radius: 2px; text-indent: 20px; width: auto; padding: 0px 4px 0px 0px; text-align: center; font: bold 11px\/20px 'Helvetica Neue',Helvetica,sans-serif; color: #ffffff; background: #bd081c no-repeat scroll 3px 50% \/ 14px 14px; position: absolute; opacity: 1; z-index: 8675309; display: none; cursor: pointer;\">Sauvegarder<\/span><\/p>\n<p><span style=\"border-radius: 2px; text-indent: 20px; width: auto; padding: 0px 4px 0px 0px; text-align: center; font: bold 11px\/20px 'Helvetica Neue',Helvetica,sans-serif; color: #ffffff; background: #bd081c no-repeat scroll 3px 50% \/ 14px 14px; position: absolute; opacity: 1; z-index: 8675309; display: none; cursor: pointer; top: 2615px; left: 40px;\">Sauvegarder<\/span><\/p>\n<p><span style=\"border-radius: 2px; text-indent: 20px; width: auto; padding: 0px 4px 0px 0px; text-align: center; font: bold 11px\/20px 'Helvetica Neue',Helvetica,sans-serif; color: #ffffff; background: #bd081c no-repeat scroll 3px 50% \/ 14px 14px; position: absolute; opacity: 1; z-index: 8675309; display: none; cursor: pointer; top: 1696px; left: 447px;\">Sauvegarder<\/span><\/p>\n<p><span style=\"border-radius: 2px; text-indent: 20px; width: auto; padding: 0px 4px 0px 0px; text-align: center; font: bold 11px\/20px 'Helvetica Neue',Helvetica,sans-serif; color: #ffffff; background: #bd081c no-repeat scroll 3px 50% \/ 14px 14px; position: absolute; opacity: 1; z-index: 8675309; display: none; cursor: pointer; top: 2641px; left: 40px;\">Sauvegarder<\/span><\/p>\n<p><span style=\"border-radius: 2px; text-indent: 20px; width: auto; padding: 0px 4px 0px 0px; text-align: center; font: bold 11px\/20px 'Helvetica Neue',Helvetica,sans-serif; color: #ffffff; background: #bd081c no-repeat scroll 3px 50% \/ 14px 14px; position: absolute; opacity: 1; z-index: 8675309; display: none; cursor: pointer; top: 2570px; left: 40px;\">Sauvegarder<\/span><\/p>\n<p><span style=\"border-radius: 2px; text-indent: 20px; width: auto; padding: 0px 4px 0px 0px; text-align: center; font: bold 11px\/20px 'Helvetica Neue',Helvetica,sans-serif; color: #ffffff; background: #bd081c no-repeat scroll 3px 50% \/ 14px 14px; position: absolute; opacity: 1; z-index: 8675309; display: none; cursor: pointer; top: 2570px; left: 40px;\">Sauvegarder<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-311a9228 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"311a9228\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-428e9518\" data-id=\"428e9518\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-7b59b682 elementor-widget elementor-widget-heading\" data-id=\"7b59b682\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Abonnez-vous pour les derni\u00e8res mises \u00e0 jour<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-445b395c elementor-widget elementor-widget-shortcode\" data-id=\"445b395c\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\t\t\t\t\t<script type=\"text\/javascript\">\n\t\t\t\t\t\tvar gCaptchaSibWidget;\n                        var onloadSibCallbackInvisible = function () {\n\n                            var element = document.getElementsByClassName('sib-default-btn');\n                            var countInvisible = 0;\n                            var indexArray = [];\n                            jQuery('.sib-default-btn').each(function (index, el) {\n                                if ((jQuery(el).attr('id') == \"invisible\")) {\n                                    indexArray[countInvisible] = index;\n                                    countInvisible++\n                                }\n                            });\n\n                            jQuery('.invi-recaptcha').each(function (index, el) {\n                                grecaptcha.render(element[indexArray[index]], {\n                                    'sitekey': jQuery(el).attr('data-sitekey'),\n                                    'callback': sibVerifyCallback,\n                                });\n                            });\n                        };\n\t\t\t\t\t<\/script>\n\t\t\t\t\t                <script src=\"https:\/\/www.google.com\/recaptcha\/api.js?onload=onloadSibCallbackInvisible&render=explicit\" async defer><\/script>\n\t\t\t\t\n\t\t\t<form id=\"sib_signup_form_1\" method=\"post\" class=\"sib_signup_form\" action=\"\">\n\t\t\t\t<div class=\"sib_loader\" style=\"display:none;\"><img\n\t\t\t\t\t\t\tsrc=\"https:\/\/www.railscarma.com\/wp-includes\/images\/spinner.gif\" alt=\"chargeur\"><\/div>\n\t\t\t\t<input type=\"hidden\" name=\"sib_form_action\" value=\"subscribe_form_submit\">\n\t\t\t\t<input type=\"hidden\" name=\"sib_form_id\" value=\"1\">\n                <input type=\"hidden\" name=\"sib_form_alert_notice\" value=\"Please fill out this field\">\n                <input type=\"hidden\" name=\"sib_form_invalid_email_notice\" value=\"Your email address is invalid\">\n                <input type=\"hidden\" name=\"sib_security\" value=\"ec95fb1fc4\">\n\t\t\t\t<div class=\"sib_signup_box_inside_1\">\n\t\t\t\t\t<div style=\"\/*display:none*\/\" class=\"sib_msg_disp\">\n\t\t\t\t\t<\/div>\n                                            <div id=\"sib_captcha_invisible\" class=\"invi-recaptcha\" data-sitekey=\"6LdikOAaAAAAAJ6SWrrKVQrtw7TQpQAEnv0HS0G3\"><\/div>\n                    \t\t\t\t\t<p class=\"sib-email-area\">\r\n    <label class=\"sib-email-area\"><\/label>\r\n    <input type=\"email\" class=\"sib-email-area\" name=\"email\" required=\"required\" placeholder=\"Adresse e-mail\">\r\n<\/p>\r\n<p class=\"sib-NAME-area\">\r\n    <label class=\"sib-NAME-area\"><\/label>\r\n    <input type=\"text\" class=\"sib-NAME-area\" name=\"NAME\" placeholder=\"Nom\">\r\n<\/p>\r\n<p>\r\n    <input type=\"submit\" id=\"invisible\" class=\"sib-default-btn\" value=\"S&#039;abonner\">\r\n<\/p>\t\t\t\t<\/div>\n\t\t\t<input type=\"hidden\" name=\"trp-form-language\" value=\"fr\"\/><\/form>\n\t\t\t<style>\n\t\t\t\tform#sib_signup_form_1 p.sib-alert-message {\n    padding: 6px 12px;\n    margin-bottom: 20px;\n    border: 1px solid transparent;\n    border-radius: 4px;\n    -webkit-box-sizing: border-box;\n    -moz-box-sizing: border-box;\n    box-sizing: border-box;\n}\nform#sib_signup_form_1 p.sib-alert-message-error {\n    background-color: #f2dede;\n    border-color: #ebccd1;\n    color: #a94442;\n}\nform#sib_signup_form_1 p.sib-alert-message-success {\n    background-color: #dff0d8;\n    border-color: #d6e9c6;\n    color: #3c763d;\n}\nform#sib_signup_form_1 p.sib-alert-message-warning {\n    background-color: #fcf8e3;\n    border-color: #faebcc;\n    color: #8a6d3b;\n}\n\t\t\t<\/style>\n\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t  <div class=\"related-post slider\">\r\n        <div class=\"headline\">Articles Similaires<\/div>\r\n    <div class=\"post-list owl-carousel\">\r\n\r\n            <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Gemme de Kaminari\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/articles-techniques\/joyau-kaminari\/?related_post_from=37277\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"joyau kaminari\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Gemme de Kaminari\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/articles-techniques\/joyau-kaminari\/?related_post_from=37277\">\r\n        Gemme de Kaminari  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Pourquoi engager des d\u00e9veloppeurs Ruby on Rails en 2026 ?\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/ror\/pourquoi-embaucher-des-developpeurs-ruby-on-rails\/?related_post_from=30627\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"pourquoi embaucher des d\u00e9veloppeurs Ruby on Rails en 2022\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Pourquoi engager des d\u00e9veloppeurs Ruby on Rails en 2026 ?\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/ror\/pourquoi-embaucher-des-developpeurs-ruby-on-rails\/?related_post_from=30627\">\r\n        Pourquoi engager des d\u00e9veloppeurs Ruby on Rails en 2026 ?  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Importance de l&#039;architecture logicielle dans le d\u00e9veloppement de logiciels d&#039;entreprise\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/ror\/importance-de-larchitecture-logicielle-dans-le-developpement-de-logiciels-dentreprise\/?related_post_from=36250\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"Importance de l&#039;architecture logicielle dans le d\u00e9veloppement de logiciels d&#039;entreprise\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Importance de l&#039;architecture logicielle dans le d\u00e9veloppement de logiciels d&#039;entreprise\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/ror\/importance-de-larchitecture-logicielle-dans-le-developpement-de-logiciels-dentreprise\/?related_post_from=36250\">\r\n        Importance de l&#039;architecture logicielle dans le d\u00e9veloppement de logiciels d&#039;entreprise  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Ruby IDE\u00a0: les meilleurs IDE pour le d\u00e9veloppement Ruby on Rails\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/ror\/ruby-ide-les-meilleures-idees-pour-le-developpement-de-ruby-on-rails\/?related_post_from=36125\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"MEILLEURES ID\u00c9ES POUR LE D\u00c9VELOPPEMENT DE RUBY ON RAILS\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Ruby IDE\u00a0: les meilleurs IDE pour le d\u00e9veloppement Ruby on Rails\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/ror\/ruby-ide-les-meilleures-idees-pour-le-developpement-de-ruby-on-rails\/?related_post_from=36125\">\r\n        Ruby IDE\u00a0: les meilleurs IDE pour le d\u00e9veloppement Ruby on Rails  <\/a>\r\n\r\n        <\/div>\r\n      \r\n  <\/div>\r\n\r\n  <script>\r\n      <\/script>\r\n  <style>\r\n    .related-post {}\r\n\r\n    .related-post .post-list {\r\n      text-align: left;\r\n          }\r\n\r\n    .related-post .post-list .item {\r\n      margin: 10px;\r\n      padding: 10px;\r\n          }\r\n\r\n    .related-post .headline {\r\n      font-size: 14px !important;\r\n      color: #999999 !important;\r\n          }\r\n\r\n    .related-post .post-list .item .post_thumb {\r\n      max-height: 220px;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n          }\r\n\r\n    .related-post .post-list .item .post_title {\r\n      font-size: 14px;\r\n      color: #000000;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n      text-decoration: none;\r\n          }\r\n\r\n    .related-post .post-list .item .post_excerpt {\r\n      font-size: 12px;\r\n      color: #3f3f3f;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n      text-decoration: none;\r\n          }\r\n\r\n    .related-post .owl-dots .owl-dot {\r\n          }\r\n\r\n      <\/style>\r\n      <script>\r\n      jQuery(document).ready(function($) {\r\n        $(\".related-post .post-list\").owlCarousel({\r\n          items: 2,\r\n          responsiveClass: true,\r\n          responsive: {\r\n            0: {\r\n              items: 1,\r\n            },\r\n            768: {\r\n              items: 2,\r\n            },\r\n            1200: {\r\n              items: 2,\r\n            }\r\n          },\r\n                      rewind: true,\r\n                                loop: true,\r\n                                center: false,\r\n                                autoplay: true,\r\n            autoplayHoverPause: true,\r\n                                nav: true,\r\n            navSpeed: 1000,\r\n            navText: ['<i class=\"fas fa-chevron-left\"><\/i>', '<i class=\"fas fa-chevron-right\"><\/i>'],\r\n                                dots: false,\r\n            dotsSpeed: 1200,\r\n                                                    rtl: false,\r\n          \r\n        });\r\n      });\r\n    <\/script>\r\n  <\/div>","protected":false},"excerpt":{"rendered":"<p>Qu'est-ce qu'un nom ? Un bon nom r\u00e9pond \u00e0 des questions importantes. Que contient-il ? Que signifie-t-il ? Comment l'utiliser ? Quel r\u00f4le joue-t-elle ? Nommez toujours vos m\u00e9thodes en fonction de leur comportement et non de leur impl\u00e9mentation. Par exemple, en regardant le nom de la m\u00e9thode ci-dessus, nous pouvons pr\u00e9dire qu'elle ex\u00e9cutera 2-3 bases de donn\u00e9es ...<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/how-to-build-a-scalable-saas-platform-using-ruby-on-rails\/\"> <span class=\"screen-reader-text\">Comment construire une plateforme SaaS \u00e9volutive en utilisant Ruby on Rails<\/span> Lire la suite \u00bb<\/a><\/p>","protected":false},"author":1,"featured_media":31753,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[384],"tags":[],"class_list":["post-26709","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technical-articles"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Rails Development: Coding Conventions &amp; Best Practices - RailsCarma - Ruby on Rails Development Company specializing in Offshore Development<\/title>\n<meta name=\"description\" content=\"What\u2019s in a name A good name answers important questions. What does it contain? What does it mean? How would I use it? What&nbsp; role&nbsp; does&nbsp;\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/articles-techniques\/meilleures-pratiques-des-conventions-de-codage-du-developpement-rails\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Rails Development: Coding Conventions &amp; Best Practices - RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\" \/>\n<meta property=\"og:description\" content=\"What\u2019s in a name A good name answers important questions. What does it contain? What does it mean? How would I use it? What&nbsp; role&nbsp; does&nbsp;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.railscarma.com\/fr\/blog\/articles-techniques\/meilleures-pratiques-des-conventions-de-codage-du-developpement-rails\/\" \/>\n<meta property=\"og:site_name\" content=\"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/RailsCarma\/\" \/>\n<meta property=\"article:published_time\" content=\"2017-06-17T11:03:19+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-01-10T11:41:26+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2017\/06\/Rails-Development-Coding-Conventions-Best-Practices.png\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"300\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@railscarma\" \/>\n<meta name=\"twitter:site\" content=\"@railscarma\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/mejores-practicas-de-convenciones-de-codificacion-de-desarrollo-de-rieles\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/mejores-practicas-de-convenciones-de-codificacion-de-desarrollo-de-rieles\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21\"},\"headline\":\"Rails Development: Coding Conventions &#038; Best Practices\",\"datePublished\":\"2017-06-17T11:03:19+00:00\",\"dateModified\":\"2024-01-10T11:41:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/mejores-practicas-de-convenciones-de-codificacion-de-desarrollo-de-rieles\/\"},\"wordCount\":1049,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/mejores-practicas-de-convenciones-de-codificacion-de-desarrollo-de-rieles\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2017\/06\/Rails-Development-Coding-Conventions-Best-Practices.png\",\"articleSection\":[\"Technical Articles\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/mejores-practicas-de-convenciones-de-codificacion-de-desarrollo-de-rieles\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/mejores-practicas-de-convenciones-de-codificacion-de-desarrollo-de-rieles\/\",\"url\":\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/mejores-practicas-de-convenciones-de-codificacion-de-desarrollo-de-rieles\/\",\"name\":\"Rails Development: Coding Conventions & Best Practices - RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/mejores-practicas-de-convenciones-de-codificacion-de-desarrollo-de-rieles\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/mejores-practicas-de-convenciones-de-codificacion-de-desarrollo-de-rieles\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2017\/06\/Rails-Development-Coding-Conventions-Best-Practices.png\",\"datePublished\":\"2017-06-17T11:03:19+00:00\",\"dateModified\":\"2024-01-10T11:41:26+00:00\",\"description\":\"What\u2019s in a name A good name answers important questions. What does it contain? What does it mean? How would I use it? What&nbsp; role&nbsp; does&nbsp;\",\"breadcrumb\":{\"@id\":\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/mejores-practicas-de-convenciones-de-codificacion-de-desarrollo-de-rieles\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/mejores-practicas-de-convenciones-de-codificacion-de-desarrollo-de-rieles\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/mejores-practicas-de-convenciones-de-codificacion-de-desarrollo-de-rieles\/#primaryimage\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2017\/06\/Rails-Development-Coding-Conventions-Best-Practices.png\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2017\/06\/Rails-Development-Coding-Conventions-Best-Practices.png\",\"width\":800,\"height\":300},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/mejores-practicas-de-convenciones-de-codificacion-de-desarrollo-de-rieles\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.railscarma.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Rails Development: Coding Conventions &#038; Best Practices\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.railscarma.com\/#website\",\"url\":\"https:\/\/www.railscarma.com\/\",\"name\":\"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\",\"description\":\"RailsCarma is a Ruby on Rails Development Company in Bangalore. We specialize in Offshore Ruby on Rails Development based out in USA and India. Hire experienced Ruby on Rails developers for the ultimate Web Experience.\",\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.railscarma.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.railscarma.com\/#organization\",\"name\":\"RailsCarma\",\"url\":\"https:\/\/www.railscarma.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png\",\"width\":200,\"height\":46,\"caption\":\"RailsCarma\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/RailsCarma\/\",\"https:\/\/x.com\/railscarma\",\"https:\/\/www.linkedin.com\/company\/railscarma\/\",\"https:\/\/myspace.com\/railscarma\",\"https:\/\/in.pinterest.com\/railscarma\/\",\"https:\/\/www.youtube.com\/channel\/UCx3Wil-aAnDARuatTEyMdpg\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"sameAs\":[\"https:\/\/www.railscarma.com\/hire-ruby-on-rails-developer\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"D\u00e9veloppement Rails\u00a0: conventions de codage et meilleures pratiques - RailsCarma - Soci\u00e9t\u00e9 de d\u00e9veloppement Ruby on Rails sp\u00e9cialis\u00e9e dans le d\u00e9veloppement offshore","description":"What\u2019s in a name A good name answers important questions. What does it contain? What does it mean? How would I use it? What&nbsp; role&nbsp; does&nbsp;","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.railscarma.com\/fr\/blog\/articles-techniques\/meilleures-pratiques-des-conventions-de-codage-du-developpement-rails\/","og_locale":"fr_FR","og_type":"article","og_title":"Rails Development: Coding Conventions & Best Practices - RailsCarma - Ruby on Rails Development Company specializing in Offshore Development","og_description":"What\u2019s in a name A good name answers important questions. What does it contain? What does it mean? How would I use it? What&nbsp; role&nbsp; does&nbsp;","og_url":"https:\/\/www.railscarma.com\/fr\/blog\/articles-techniques\/meilleures-pratiques-des-conventions-de-codage-du-developpement-rails\/","og_site_name":"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development","article_publisher":"https:\/\/www.facebook.com\/RailsCarma\/","article_published_time":"2017-06-17T11:03:19+00:00","article_modified_time":"2024-01-10T11:41:26+00:00","og_image":[{"width":800,"height":300,"url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2017\/06\/Rails-Development-Coding-Conventions-Best-Practices.png","type":"image\/png"}],"author":"admin","twitter_card":"summary_large_image","twitter_creator":"@railscarma","twitter_site":"@railscarma","twitter_misc":{"\u00c9crit par":"admin","Dur\u00e9e de lecture estim\u00e9e":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/mejores-practicas-de-convenciones-de-codificacion-de-desarrollo-de-rieles\/#article","isPartOf":{"@id":"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/mejores-practicas-de-convenciones-de-codificacion-de-desarrollo-de-rieles\/"},"author":{"name":"admin","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21"},"headline":"Rails Development: Coding Conventions &#038; Best Practices","datePublished":"2017-06-17T11:03:19+00:00","dateModified":"2024-01-10T11:41:26+00:00","mainEntityOfPage":{"@id":"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/mejores-practicas-de-convenciones-de-codificacion-de-desarrollo-de-rieles\/"},"wordCount":1049,"commentCount":0,"publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"image":{"@id":"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/mejores-practicas-de-convenciones-de-codificacion-de-desarrollo-de-rieles\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2017\/06\/Rails-Development-Coding-Conventions-Best-Practices.png","articleSection":["Technical Articles"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/mejores-practicas-de-convenciones-de-codificacion-de-desarrollo-de-rieles\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/mejores-practicas-de-convenciones-de-codificacion-de-desarrollo-de-rieles\/","url":"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/mejores-practicas-de-convenciones-de-codificacion-de-desarrollo-de-rieles\/","name":"D\u00e9veloppement Rails\u00a0: conventions de codage et meilleures pratiques - RailsCarma - Soci\u00e9t\u00e9 de d\u00e9veloppement Ruby on Rails sp\u00e9cialis\u00e9e dans le d\u00e9veloppement offshore","isPartOf":{"@id":"https:\/\/www.railscarma.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/mejores-practicas-de-convenciones-de-codificacion-de-desarrollo-de-rieles\/#primaryimage"},"image":{"@id":"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/mejores-practicas-de-convenciones-de-codificacion-de-desarrollo-de-rieles\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2017\/06\/Rails-Development-Coding-Conventions-Best-Practices.png","datePublished":"2017-06-17T11:03:19+00:00","dateModified":"2024-01-10T11:41:26+00:00","description":"What\u2019s in a name A good name answers important questions. What does it contain? What does it mean? How would I use it? What&nbsp; role&nbsp; does&nbsp;","breadcrumb":{"@id":"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/mejores-practicas-de-convenciones-de-codificacion-de-desarrollo-de-rieles\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/mejores-practicas-de-convenciones-de-codificacion-de-desarrollo-de-rieles\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/mejores-practicas-de-convenciones-de-codificacion-de-desarrollo-de-rieles\/#primaryimage","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2017\/06\/Rails-Development-Coding-Conventions-Best-Practices.png","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2017\/06\/Rails-Development-Coding-Conventions-Best-Practices.png","width":800,"height":300},{"@type":"BreadcrumbList","@id":"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/mejores-practicas-de-convenciones-de-codificacion-de-desarrollo-de-rieles\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.railscarma.com\/"},{"@type":"ListItem","position":2,"name":"Rails Development: Coding Conventions &#038; Best Practices"}]},{"@type":"WebSite","@id":"https:\/\/www.railscarma.com\/#website","url":"https:\/\/www.railscarma.com\/","name":"RailsCarma - Soci\u00e9t\u00e9 de d\u00e9veloppement Ruby on Rails sp\u00e9cialis\u00e9e dans le d\u00e9veloppement offshore","description":"RailsCarma est une soci\u00e9t\u00e9 de d\u00e9veloppement Ruby on Rails \u00e0 Bangalore. Nous sommes sp\u00e9cialis\u00e9s dans le d\u00e9veloppement offshore Ruby on Rails, bas\u00e9s aux \u00c9tats-Unis et en Inde. Embauchez des d\u00e9veloppeurs Ruby on Rails exp\u00e9riment\u00e9s pour une exp\u00e9rience Web ultime.","publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.railscarma.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/www.railscarma.com\/#organization","name":"RailsCarma","url":"https:\/\/www.railscarma.com\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png","width":200,"height":46,"caption":"RailsCarma"},"image":{"@id":"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/RailsCarma\/","https:\/\/x.com\/railscarma","https:\/\/www.linkedin.com\/company\/railscarma\/","https:\/\/myspace.com\/railscarma","https:\/\/in.pinterest.com\/railscarma\/","https:\/\/www.youtube.com\/channel\/UCx3Wil-aAnDARuatTEyMdpg"]},{"@type":"Person","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21","name":"administrateur","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g","caption":"admin"},"sameAs":["https:\/\/www.railscarma.com\/hire-ruby-on-rails-developer\/"]}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/posts\/26709","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/comments?post=26709"}],"version-history":[{"count":0,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/posts\/26709\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/media\/31753"}],"wp:attachment":[{"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/media?parent=26709"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/categories?post=26709"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/tags?post=26709"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}