{"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":"rals-utveckling-kodning-konventioner-basta-praxis","status":"publish","type":"post","link":"https:\/\/www.railscarma.com\/sv\/blogg\/tekniska-artiklar\/rals-utveckling-kodning-konventioner-basta-praxis\/","title":{"rendered":"R\u00e4lsutveckling: kodningskonventioner och b\u00e4sta praxis"},"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>Vad finns i ett namn<\/h4>\n<p>Ett bra namn ger svar p\u00e5 viktiga fr\u00e5gor. Vad inneh\u00e5ller det? Vad betyder det? Hur skulle jag anv\u00e4nda det?<br>\nVilken roll spelar den?<br>\nNamnge alltid dina metoder baserat p\u00e5 deras beteende, inte implementering.<br>\nT\u00e4nk p\u00e5 det,<\/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=\"kodning\" width=\"610\" height=\"160\"><\/a><\/p>\n<p>Genom att titta p\u00e5 metodnamnet ovan kan vi f\u00f6ruts\u00e4ga att den kommer att utf\u00f6ra 2-3 databasoperationer, men<br>\nn\u00e4r jag arbetar i aff\u00e4rsmodellen, varf\u00f6r skulle det ber\u00f6ra mig?<br>\nGenom att namnge metoden baserat p\u00e5 deras aff\u00e4rsroll kan metoden d\u00f6pas om till,<\/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-kodning\" width=\"424\" height=\"146\"><\/a><\/p>\n<h4><strong>Strukturell namngivning<\/strong><\/h4>\n<p>En annan vanlig strategi \u00e4r att namnge saker efter deras roll i programmet. Det \u00e4r inmatningen eller utmatningen. Det \u00e4r den \u00e5terkommande frasen eller mittmeningen.  T\u00e4nk p\u00e5 koden f\u00f6r att r\u00e4kna skillnader mellan tv\u00e5 punkter;<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>H\u00e4r \u00e4r argumenten ett och tv\u00e5 ganska vaga, med tanke p\u00e5 att vi inte ens \u00e4r s\u00e4kra p\u00e5 om ordningen spelar n\u00e5gon roll. I det h\u00e4r sammanhanget g\u00f6r det inte det.<br>\nJag kan d\u00e5 omstrukturera min kod som;<\/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=\"skenor\" width=\"338\" height=\"102\"><\/a><\/p>\n<p>Vad vi kan dra slutsatsen av detta \u00e4r att det f\u00f6rsta steget var att beskriva problemet p\u00e5 engelska. Avst\u00e5ndsber\u00e4kning mellan tv\u00e5 str\u00e4ngar handlar om antalet mutationer som p\u00e5tr\u00e4ffas mellan de tv\u00e5 str\u00e4ngarna.<\/p>\n<h4><strong>Refaktorering<\/strong><\/h4>\n<p align=\"justify\">Att ordna om koden \u00e4r i allm\u00e4nhet ganska trivialt. Den knepiga delen \u00e4r att veta var man ska b\u00f6rja och inse att man kan g\u00f6ra det. En del av att komma \u00f6ver den barri\u00e4ren \u00e4r helt enkelt att g\u00f6ra det n\u00e5gra g\u00e5nger. Hitta ett villkorligt, och f\u00f6r vart och ett av dess block, skapa ett objekt vars enda ansvar \u00e4r att g\u00f6ra den saken.<\/p>\n<p>Refaktorisering handlar om att identifiera en kodsnutt som uppvisar egenskaper som man vet \u00e4r problematiska och att till\u00e4mpa en f\u00f6r\u00e4ndring som man vet l\u00f6ser den h\u00e4r typen av problem.<br>\nDetta problematiska m\u00f6nster kallas Code Smell, \"kodlukt \u00e4r en ytlig indikation som vanligtvis motsvarar ett djupare problem i systemet.\" - Martin Fowler<br>\nAtt b\u00f6rja sm\u00e5tt \u00e4r aldrig en d\u00e5lig id\u00e9, om du kan refaktorisera kod p\u00e5 mikroniv\u00e5, s\u00e5 kommer det att bli en refaktoriserad kod n\u00e4r allt kommer samman.<br>\nT\u00e4nk till exempel p\u00e5 tv\u00e5 kodsnuttar,<\/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=\"summa\" 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=\"gammal\" width=\"281\" height=\"206\"><\/a><\/p>\n<p><span style=\"font-size: 16px;\">Vad \u00e4r likheten i kodbitarna ovan? B\u00e5da har varje slinga, och om vi f\u00f6rs\u00f6ker hitta deras kodlukter,<\/span><br><\/p>\n<ul>\n<li>En loop med en tempor\u00e4r variabel.<\/li>\n<li>En slinga med en kapslad villkorlig.<\/li>\n<\/ul>\n<h4><\/h4>\n<h4><strong>L\u00e5t oss f\u00f6rs\u00f6ka omstrukturera dem<\/strong><\/h4>\n<p>Den f\u00f6rsta slingan har bara en tempor\u00e4r variabel, som kan fixas med &quot;injicera&quot;<\/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=\"siffror\" width=\"322\" height=\"180\"><\/a><\/p>\n<p>Den h\u00e4r har tv\u00e5 tempor\u00e4ra variabler och en kapslad loop, eftersom vi f\u00f6rs\u00f6ker rangordna dem borde sort_by fungera!. Koden kan omfaktoreras \u00e4nnu mer, eftersom vi f\u00f6rs\u00f6ker hitta maxv\u00e4rdet kan vi direkt anv\u00e4nda max_by-funktionen h\u00e4r,<\/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=\"nummer\" width=\"439\" height=\"318\"><\/a><\/p>\n<h4><strong>Allm\u00e4n praxis<\/strong><\/h4>\n<ul>\n<li>Vad h\u00e4nder om vi tar fram en upps\u00e4ttning regler att f\u00f6lja n\u00e4r vi kodar, som senare minskar v\u00e5rt arbete med refaktorisering.<br>\nDen mest grundl\u00e4ggande och viktigaste punkten \u00e4r FORMATERING. Det l\u00e5ter som den mest uppenbara och enkla saken att g\u00f6ra, men det \u00e4r mycket viktigt att formatera koden korrekt. B\u00e5de f\u00f6r att koden ska vara l\u00e4sbar och begriplig f\u00f6r framtida referenser, men ocks\u00e5 f\u00f6r att l\u00f6sa konflikter som uppst\u00e5r n\u00e4r tv\u00e5 olika grenar sl\u00e5s samman.<\/li>\n<li>N\u00e4r du skriver ett if-villkor med flera undervillkor, f\u00f6rs\u00f6k alltid best\u00e4lla dem s\u00e5 att minsta anstr\u00e4ngning kr\u00e4vs. Till exempel,<\/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=\"skenor\" width=\"678\" height=\"103\"><\/a><\/p>\n<ul>\n<li>Om du har en stor del av logik, som kommer att kretsa kring en enda funktionalitet, f\u00f6rs\u00f6k att dela upp det i flera mindre metoder. Det \u00f6kar \u00e5teranv\u00e4ndbarheten, plus att det blir l\u00e4tt f\u00f6r en ny utvecklare att enkelt f\u00f6rst\u00e5 koden. Ist\u00e4llet f\u00f6r att skriva allt i en enda metod och ge det utseendet och k\u00e4nslan av en komplex logik, dela upp det i mindre l\u00e4sbara bitar av metoder.<\/li>\n<li>Kommentera din magiska kod. Ruby tillhandah\u00e5ller m\u00e5nga metaprogrammeringsmetoder, som hj\u00e4lper till att minska din anstr\u00e4ngning och \u00e4r tidsv\u00e4nliga. Men de \u00e4r inte alltid s\u00e5 l\u00e4tta att f\u00f6rst\u00e5 n\u00e4r du vill h\u00e4nvisa tillbaka till dem, det \u00e4r alltid en bra id\u00e9 att l\u00e4gga till l\u00e4mpliga kommentarer s\u00e5 att n\u00e4r du kommer tillbaka senare f\u00f6r att ta en titt, blir det l\u00e4ttare f\u00f6r dig att \u00e5teransluta.<\/li>\n<li>Anv\u00e4nd before_filter, ist\u00e4llet f\u00f6r att upprepa dig sj\u00e4lv i kontrollern.<\/li>\n<li>Anv\u00e4nd modell\u00e5terkallningar f\u00f6r att undvika att skriva f\u00f6r mycket kod i kontroller f\u00f6r de \u00e5tg\u00e4rder som kretsar kring de grundl\u00e4ggande CRUD-operationerna.<\/li>\n<li>FORMATERING: det finns vissa \u00e4delstenar som g\u00f6r ditt liv mycket enklare : awesome_print ; pretty print ; rubocop.<\/li>\n<li>F\u00f6lj alltid praxis f\u00f6r Code Review i Git. Kod som \u00e4r skriven av en utvecklare b\u00f6r granskas av andra teammedlemmar innan de sl\u00e5s samman med huvudgrenarna, eftersom det hj\u00e4lper till att eliminera eventuella fel eller ov\u00e4ntade resultat. Det hj\u00e4lper ocks\u00e5 till att h\u00e5lla varje medlem informerad och uppdaterad om vad deras kollega arbetar med.<\/li>\n<li>P\u00e5st\u00e5enden som ut\u00f6kar post 80-tecken b\u00f6r delas upp i n\u00e4sta rader f\u00f6r att undvika rullningslist n\u00e4r du tittar p\u00e5 kod i andra medier som GitHub.<\/li>\n<li>N\u00e4r du skickar koden till ditt arkiv ber\u00e4ttar git diff f\u00f6r mig vad du gjorde, ditt commit-meddelande b\u00f6r s\u00e4ga varf\u00f6r du gjorde det.<\/li>\n<li>OPTIMERA INTE f\u00f6r prestanda \u2013 OPTIMERA F\u00d6R TYDLIGHET I KODEN<\/li>\n<li>Enhetstestning \u00e4r alltid en bra id\u00e9 f\u00f6r att s\u00e4kerst\u00e4lla att funktionaliteten fungerar som du f\u00f6rv\u00e4ntade dig. Hj\u00e4lp fr\u00e5n aspekter: Rails genererar som standard en hj\u00e4lpare f\u00f6r varje styrenhet. Eliminera dem och f\u00f6rs\u00f6k anv\u00e4nda hj\u00e4lpare som \u00e4r aspektorienterade som ; <strong>-&gt; l\u00e4nk_hj\u00e4lpare -<\/strong><strong>&gt; menu_helper<\/strong><\/li>\n<li>Enligt MVC-konventionen b\u00f6r man undvika att g\u00f6ra anrop till databasen fr\u00e5n View-skiktet. Flytta den delen av din kod till kontroller f\u00f6r att s\u00e4kerst\u00e4lla separation av bekymmer.<\/li>\n<li>Minska anrop till databaser. Om en ofta bes\u00f6kt sida utl\u00f6ser fler \u00e4n ett par samtal till DB \u00e4r det v\u00e4rt att l\u00e4gga ner lite tid p\u00e5 att minska antalet samtal till ett f\u00e5tal. I m\u00e5nga fall \u00e4r detta bara en fr\u00e5ga om att anv\u00e4nda .includes() eller .joins().<\/li>\n<li>Det blir en tr\u00e5kig uppgift att kontrollera din modellstruktur d\u00e5 och d\u00e5, som en utv\u00e4g till det, inkludera din modellstruktur h\u00f6gst upp i filen som referens.<\/li>\n<\/ul>\n<p>Hoppas det hj\u00e4lpte! Loggar ut, <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;\">Spara<\/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;\">Spara<\/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;\">Spara<\/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;\">Spara<\/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;\">Spara<\/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;\">Spara<\/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\">Prenumerera f\u00f6r de senaste uppdateringarna<\/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=\"lastare\"><\/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=\"d7f7626ab9\">\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=\"E-postadress\">\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=\"namn\">\r\n<\/p>\r\n<p>\r\n    <input type=\"submit\" id=\"invisible\" class=\"sib-default-btn\" value=\"Prenumerera\">\r\n<\/p>\t\t\t\t<\/div>\n\t\t\t<input type=\"hidden\" name=\"trp-form-language\" value=\"sv\"\/><\/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\">relaterade inl\u00e4gg<\/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=\"Kaminari Gem\" href=\"https:\/\/www.railscarma.com\/sv\/blogg\/tekniska-artiklar\/kaminari-parla\/?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=\"kaminari p\u00e4rla\" 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=\"Kaminari Gem\" href=\"https:\/\/www.railscarma.com\/sv\/blogg\/tekniska-artiklar\/kaminari-parla\/?related_post_from=37277\">\r\n        Kaminari Gem  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Varf\u00f6r anst\u00e4lla Ruby on Rails-utvecklare 2026?\" href=\"https:\/\/www.railscarma.com\/sv\/blogg\/ror\/varfor-anlita-utvecklare-av-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=\"varf\u00f6r anlita utvecklare av ruby on rails 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=\"Varf\u00f6r anst\u00e4lla Ruby on Rails-utvecklare 2026?\" href=\"https:\/\/www.railscarma.com\/sv\/blogg\/ror\/varfor-anlita-utvecklare-av-ruby-on-rails\/?related_post_from=30627\">\r\n        Varf\u00f6r anst\u00e4lla Ruby on Rails-utvecklare 2026?  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Betydelsen av mjukvaruarkitektur vid utveckling av f\u00f6retagsmjukvara\" href=\"https:\/\/www.railscarma.com\/sv\/blogg\/ror\/vikten-av-mjukvaruarkitektur-i-foretagsutveckling-av-programvara\/?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=\"Betydelsen av mjukvaruarkitektur vid utveckling av f\u00f6retagsmjukvara\" 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=\"Betydelsen av mjukvaruarkitektur vid utveckling av f\u00f6retagsmjukvara\" href=\"https:\/\/www.railscarma.com\/sv\/blogg\/ror\/vikten-av-mjukvaruarkitektur-i-foretagsutveckling-av-programvara\/?related_post_from=36250\">\r\n        Betydelsen av mjukvaruarkitektur vid utveckling av f\u00f6retagsmjukvara  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Ruby IDE: De b\u00e4sta IDE:erna f\u00f6r Ruby on Rails Development\" href=\"https:\/\/www.railscarma.com\/sv\/blogg\/ror\/ruby-ide-de-basta-ideerna-for-ruby-on-rails-utveckling\/?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=\"B\u00c4STA ID\u00c9ER F\u00d6R UTVECKLING AV RUBY ON RAIL\" 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: De b\u00e4sta IDE:erna f\u00f6r Ruby on Rails Development\" href=\"https:\/\/www.railscarma.com\/sv\/blogg\/ror\/ruby-ide-de-basta-ideerna-for-ruby-on-rails-utveckling\/?related_post_from=36125\">\r\n        Ruby IDE: De b\u00e4sta IDE:erna f\u00f6r Ruby on Rails Development  <\/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>Vad \u00e4r det i ett namn Ett bra namn svarar p\u00e5 viktiga fr\u00e5gor. Vad inneh\u00e5ller det? Vad betyder det? Hur skulle jag anv\u00e4nda det? Vilken roll spelar den? Namnge alltid dina metoder baserat p\u00e5 deras beteende, inte implementering. T\u00e4nk p\u00e5, Genom att titta p\u00e5 metodnamnet ovan kan vi f\u00f6ruts\u00e4ga att det kommer att utf\u00f6ra 2-3 databas ...<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/www.railscarma.com\/sv\/blogg\/ruby-regex-match-guide-with-examples\/\"> <span class=\"screen-reader-text\">Ruby Regex Match Guide (2026) med exempel<\/span> L\u00e4s mer \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\/sv\/blogg\/tekniska-artiklar\/rals-utveckling-kodning-konventioner-basta-praxis\/\" \/>\n<meta property=\"og:locale\" content=\"sv_SE\" \/>\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\/sv\/blogg\/tekniska-artiklar\/rals-utveckling-kodning-konventioner-basta-praxis\/\" \/>\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=\"Skriven av\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Ber\u00e4knad l\u00e4stid\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minuter\" \/>\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\":\"sv-SE\",\"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\":\"sv-SE\",\"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\":\"sv-SE\",\"@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\":\"sv-SE\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.railscarma.com\/#organization\",\"name\":\"RailsCarma\",\"url\":\"https:\/\/www.railscarma.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"sv-SE\",\"@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\":\"sv-SE\",\"@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":"Rails Development: Kodningskonventioner och b\u00e4sta praxis - RailsCarma - Ruby on Rails Development Company specialiserat p\u00e5 offshoreutveckling","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\/sv\/blogg\/tekniska-artiklar\/rals-utveckling-kodning-konventioner-basta-praxis\/","og_locale":"sv_SE","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\/sv\/blogg\/tekniska-artiklar\/rals-utveckling-kodning-konventioner-basta-praxis\/","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":{"Skriven av":"admin","Ber\u00e4knad l\u00e4stid":"5 minuter"},"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":"sv-SE","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: Kodningskonventioner och b\u00e4sta praxis - RailsCarma - Ruby on Rails Development Company specialiserat p\u00e5 offshoreutveckling","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":"sv-SE","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":"sv-SE","@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 specialiserat p\u00e5 Offshore Development","description":"RailsCarma \u00e4r ett Ruby on Rails Development Company i Bangalore. Vi \u00e4r specialiserade p\u00e5 Offshore Ruby on Rails Development baserat i USA och Indien. Anst\u00e4ll erfarna Ruby on Rails-utvecklare f\u00f6r den ultimata webbupplevelsen.","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":"sv-SE"},{"@type":"Organization","@id":"https:\/\/www.railscarma.com\/#organization","name":"RailsCarma","url":"https:\/\/www.railscarma.com\/","logo":{"@type":"ImageObject","inLanguage":"sv-SE","@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":"administration","image":{"@type":"ImageObject","inLanguage":"sv-SE","@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\/sv\/wp-json\/wp\/v2\/posts\/26709","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.railscarma.com\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.railscarma.com\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/sv\/wp-json\/wp\/v2\/comments?post=26709"}],"version-history":[{"count":0,"href":"https:\/\/www.railscarma.com\/sv\/wp-json\/wp\/v2\/posts\/26709\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/sv\/wp-json\/wp\/v2\/media\/31753"}],"wp:attachment":[{"href":"https:\/\/www.railscarma.com\/sv\/wp-json\/wp\/v2\/media?parent=26709"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.railscarma.com\/sv\/wp-json\/wp\/v2\/categories?post=26709"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.railscarma.com\/sv\/wp-json\/wp\/v2\/tags?post=26709"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}