{"id":25603,"date":"2016-11-09T11:04:01","date_gmt":"2016-11-09T11:04:01","guid":{"rendered":"https:\/\/dev.railscarma.com\/code-refactoring-gem-flay\/"},"modified":"2021-05-27T06:17:39","modified_gmt":"2021-05-27T06:17:39","slug":"refactoring-del-codice-gem-fly","status":"publish","type":"post","link":"https:\/\/www.railscarma.com\/it\/blog\/articoli-tecnici\/refactoring-del-codice-gem-fly\/","title":{"rendered":"Gemma di refactoring del codice \u2013 Flay"},"content":{"rendered":"<p align=\"justify\">Mantenere il codice elegante e senza cloni di codice durante la creazione di una vasta applicazione Rails pu\u00f2 essere un test significativo, tuttavia, per uno sviluppatore esperto. Fortunatamente, c&#039;\u00e8 una gemma che rende il refactoring del codice molto pi\u00f9 semplice. Per moltissime persone, dopo un po&#039; di tempo si svilupper\u00e0 un codice morto\/dispendioso. Altri si troveranno in una situazione del genere quando assumeranno il controllo di progetti legacy. Nella remota possibilit\u00e0 che tu abbia bisogno di mantenere il tuo codice manutenibile e ottimizzato, dai un&#039;occhiata a un gioiello che ha fatto il lavoro per me.<\/p>\n<p align=\"justify\">Flay esamina il codice per le somiglianze strutturali. Le differenze nei valori letterali, nelle variabili, nelle classi, nei nomi dei metodi, negli spazi bianchi, nello stile di programmazione, tra parentesi graffe e fine\/fine, oggetti di scena e fine\/fine e cos\u00ec via sono tutti trascurati, rendendolo assolutamente fantastico. \u00c8 adatto a riconoscere sia le corrispondenze corrette che quelle ravvicinate e con certezza scopre alcuni punti in Active Record in cui i modelli si ripetono. Nel suo stato attuale, l&#039;output di Flay \u00e8 molto primitivo: un elenco di nodi di codice ripetuti, insieme a un peso in base al quale classificarli e numeri di riga e nomi di file in cui appare il codice ripetuto. Il codice che visualizza i report come comparativi \u00e8 uno strumento decente per il refactoring.<\/p>\n<p><strong>Comando da installare<\/strong><\/p>\n<pre><code>sudo gem installa fly<\/code><\/pre>\n<p><strong>Comando per vedere l&#039;output<\/strong><\/p>\n<pre><code>Cd \u201cPercorso della cartella del progetto\u201d<\/code><\/pre>\n<pre><code>scorticare \u201cpercorso della cartella\u201d<\/code><\/pre>\n<pre><code>Ad esempio: flay .\/app\/controllers - Identifica la duplicazione del codice in tutti i controller.<\/code><\/pre>\n<pre><code>flay .\/app - Identifica la duplicazione del codice nell&#039;intero progetto<\/code><\/pre>\n<pre><code>flay .\/app\/controllers\/example_controler.rb - Identifica la duplicazione del codice nel controller specificato.<\/code><\/pre>\n<p><strong>Esempio di uscita<\/strong><br \/>\nViene generato un output delle aree duplicate del codice come questo:<\/p>\n<pre><code>sridevi@carmatec-MS-7788$ flay .\/app\/models\/*.rb Punteggio totale (pi\u00f9 basso \u00e8 migliore) = 1666 1) Codice simile trovato in :call (mass = 170) .\/app\/models\/example.rb:8 .\/app\/models\/example.rb:9 .\/app\/models\/example.rb:10 .\/app\/models\/example.rb:11 .\/app\/models\/example.rb:15 .\/app\/models\/ esempio.rb:17 .\/app\/models\/esempio.rb:19 .\/app\/models\/esempio.rb:20 .\/app\/models\/esempio.rb:22 .\/app\/models\/esempio.rb:23 2 ) Codice simile trovato in :defs (mass = 154) .\/app\/models\/example.rb:260 .\/app\/models\/result.rb:195 3) Codice simile trovato in :defs (mass = 138) .\/app \/models\/feedback.rb:62 .\/app\/models\/example.rb:54 .\/app\/models\/result.rb:51 4) Codice simile trovato in :call (mass = 136) .\/app\/models\/example .rb:12 .\/app\/models\/example.rb:13 .\/app\/models\/example.rb:14 .\/app\/models\/example.rb:16 .\/app\/models\/example.rb:18 .\/ app\/models\/example.rb:21 .\/app\/models\/example.rb:24 .\/app\/models\/example.rb:25 5) Codice IDENTICO trovato in :defn (massa*2 = 128) .\/app\/ models\/result.rb:7 .\/app\/models\/summary_report.rb:7 6) Codice IDENTICO trovato in :defn (mass*2 = 120) .\/app\/models\/example.rb:17 .\/app\/models\/ esempio.rb:23<\/code><\/pre>\n<p align=\"justify\">Il punteggio totale dell&#039;app di 1666 (il consiglio &quot;pi\u00f9 basso \u00e8 meglio&quot; \u00e8 vero) pu\u00f2 essere visualizzato nei suoi singoli componenti mostrando le aree che forniscono il massimo rapporto qualit\u00e0-prezzo. Per gli sviluppatori esperti che operano da soli o in un piccolo team, Flay potrebbe non essere necessario. Tuttavia, su progetti pi\u00f9 grandi (come quello su cui l&#039;ho eseguito) o su quelli con programmatori principianti o intermedi pu\u00f2 aiutare ad aumentare la manutenibilit\u00e0 della base di codice.<\/p>\n<p align=\"justify\">Di seguito \u00e8 riportata la rappresentazione pittorica di come eseguire il refactoring del codice nell&#039;app rails. Ad esempio, se lo stesso codice \u00e8 duplicato in molti controller, conservalo in ApplicationController e chiama il metodo utilizzando i filtri.<\/p>\n  <div class=\"related-post slider\">\r\n        <div class=\"headline\">Articoli correlati<\/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=\"Gemma Kaminari\" href=\"https:\/\/www.railscarma.com\/it\/blog\/articoli-tecnici\/gemma-di-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=\"gemma di 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=\"Gemma Kaminari\" href=\"https:\/\/www.railscarma.com\/it\/blog\/articoli-tecnici\/gemma-di-kaminari\/?related_post_from=37277\">\r\n        Gemma Kaminari  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Perch\u00e9 assumere sviluppatori Ruby on Rails nel 2026?\" href=\"https:\/\/www.railscarma.com\/it\/blog\/roro\/perche-assumere-sviluppatori-di-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=\"perch\u00e9 assumere sviluppatori di Ruby on Rails nel 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=\"Perch\u00e9 assumere sviluppatori Ruby on Rails nel 2026?\" href=\"https:\/\/www.railscarma.com\/it\/blog\/roro\/perche-assumere-sviluppatori-di-ruby-on-rails\/?related_post_from=30627\">\r\n        Perch\u00e9 assumere sviluppatori Ruby on Rails nel 2026?  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Importanza dell&#039;architettura software nello sviluppo di software aziendale\" href=\"https:\/\/www.railscarma.com\/it\/blog\/roro\/importanza-dellarchitettura-software-nello-sviluppo-di-software-aziendale\/?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=\"Importanza dell&#039;architettura software nello sviluppo di software aziendale\" 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=\"Importanza dell&#039;architettura software nello sviluppo di software aziendale\" href=\"https:\/\/www.railscarma.com\/it\/blog\/roro\/importanza-dellarchitettura-software-nello-sviluppo-di-software-aziendale\/?related_post_from=36250\">\r\n        Importanza dell&#039;architettura software nello sviluppo di software aziendale  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Ruby IDE: i migliori IDE per lo sviluppo di Ruby on Rails\" href=\"https:\/\/www.railscarma.com\/it\/blog\/roro\/ruby-ide-le-migliori-idee-per-lo-sviluppo-di-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=\"LE MIGLIORI IDEE PER LO SVILUPPO DI 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: i migliori IDE per lo sviluppo di Ruby on Rails\" href=\"https:\/\/www.railscarma.com\/it\/blog\/roro\/ruby-ide-le-migliori-idee-per-lo-sviluppo-di-ruby-on-rails\/?related_post_from=36125\">\r\n        Ruby IDE: i migliori IDE per lo sviluppo di 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>Keeping your code elegant and no code clones while building up a vast Rails application can be a significant test, notwithstanding for an accomplished developer. Fortunately, there is a gem that make this code refactoring much simpler. For a great many people, dead\/wasteful code will develop after some time. Others will find themselves in such &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/www.railscarma.com\/it\/blog\/how-to-build-a-scalable-saas-platform-using-ruby-on-rails\/\"> <span class=\"screen-reader-text\">Come costruire una piattaforma SaaS scalabile usando Ruby on Rails<\/span> Leggi altro \"<\/a><\/p>","protected":false},"author":1,"featured_media":31838,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[384],"tags":[],"class_list":["post-25603","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>Code Refactoring Gem - Flay - RailsCarma - Ruby on Rails Development Company specializing in Offshore Development<\/title>\n<meta name=\"description\" content=\"Keeping your code elegant and no code clones while building up a vast Rails application can be a significant test, notwithstanding for an accomplished\" \/>\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\/it\/blog\/articoli-tecnici\/refactoring-del-codice-gem-fly\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Code Refactoring Gem - Flay - RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\" \/>\n<meta property=\"og:description\" content=\"Keeping your code elegant and no code clones while building up a vast Rails application can be a significant test, notwithstanding for an accomplished\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.railscarma.com\/it\/blog\/articoli-tecnici\/refactoring-del-codice-gem-fly\/\" \/>\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=\"2016-11-09T11:04:01+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-05-27T06:17:39+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/11\/Code-refactoring-tool-Flay-gem-.jpg\" \/>\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\/jpeg\" \/>\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=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/code-refactoring-gem-flay\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/code-refactoring-gem-flay\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21\"},\"headline\":\"Code Refactoring Gem &#8211; Flay\",\"datePublished\":\"2016-11-09T11:04:01+00:00\",\"dateModified\":\"2021-05-27T06:17:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/code-refactoring-gem-flay\/\"},\"wordCount\":331,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/code-refactoring-gem-flay\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/11\/Code-refactoring-tool-Flay-gem-.jpg\",\"articleSection\":[\"Technical Articles\"],\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.railscarma.com\/blog\/technical-articles\/code-refactoring-gem-flay\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/code-refactoring-gem-flay\/\",\"url\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/code-refactoring-gem-flay\/\",\"name\":\"Code Refactoring Gem - Flay - RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/code-refactoring-gem-flay\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/code-refactoring-gem-flay\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/11\/Code-refactoring-tool-Flay-gem-.jpg\",\"datePublished\":\"2016-11-09T11:04:01+00:00\",\"dateModified\":\"2021-05-27T06:17:39+00:00\",\"description\":\"Keeping your code elegant and no code clones while building up a vast Rails application can be a significant test, notwithstanding for an accomplished\",\"breadcrumb\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/code-refactoring-gem-flay\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.railscarma.com\/blog\/technical-articles\/code-refactoring-gem-flay\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/code-refactoring-gem-flay\/#primaryimage\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/11\/Code-refactoring-tool-Flay-gem-.jpg\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/11\/Code-refactoring-tool-Flay-gem-.jpg\",\"width\":800,\"height\":300},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/code-refactoring-gem-flay\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.railscarma.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Code Refactoring Gem &#8211; Flay\"}]},{\"@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\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.railscarma.com\/#organization\",\"name\":\"RailsCarma\",\"url\":\"https:\/\/www.railscarma.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@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\":\"it-IT\",\"@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":"Code Refactoring Gem - Flay - RailsCarma - Ruby on Rails Societ\u00e0 di sviluppo specializzata nello sviluppo offshore","description":"Mantenere il codice elegante e senza cloni di codice durante la creazione di una vasta applicazione Rails pu\u00f2 essere un test significativo, nonostante un risultato completo","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\/it\/blog\/articoli-tecnici\/refactoring-del-codice-gem-fly\/","og_locale":"it_IT","og_type":"article","og_title":"Code Refactoring Gem - Flay - RailsCarma - Ruby on Rails Development Company specializing in Offshore Development","og_description":"Keeping your code elegant and no code clones while building up a vast Rails application can be a significant test, notwithstanding for an accomplished","og_url":"https:\/\/www.railscarma.com\/it\/blog\/articoli-tecnici\/refactoring-del-codice-gem-fly\/","og_site_name":"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development","article_publisher":"https:\/\/www.facebook.com\/RailsCarma\/","article_published_time":"2016-11-09T11:04:01+00:00","article_modified_time":"2021-05-27T06:17:39+00:00","og_image":[{"width":800,"height":300,"url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/11\/Code-refactoring-tool-Flay-gem-.jpg","type":"image\/jpeg"}],"author":"admin","twitter_card":"summary_large_image","twitter_creator":"@railscarma","twitter_site":"@railscarma","twitter_misc":{"Scritto da":"admin","Tempo di lettura stimato":"3 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/code-refactoring-gem-flay\/#article","isPartOf":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/code-refactoring-gem-flay\/"},"author":{"name":"admin","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21"},"headline":"Code Refactoring Gem &#8211; Flay","datePublished":"2016-11-09T11:04:01+00:00","dateModified":"2021-05-27T06:17:39+00:00","mainEntityOfPage":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/code-refactoring-gem-flay\/"},"wordCount":331,"commentCount":0,"publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"image":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/code-refactoring-gem-flay\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/11\/Code-refactoring-tool-Flay-gem-.jpg","articleSection":["Technical Articles"],"inLanguage":"it-IT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.railscarma.com\/blog\/technical-articles\/code-refactoring-gem-flay\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/code-refactoring-gem-flay\/","url":"https:\/\/www.railscarma.com\/blog\/technical-articles\/code-refactoring-gem-flay\/","name":"Code Refactoring Gem - Flay - RailsCarma - Ruby on Rails Societ\u00e0 di sviluppo specializzata nello sviluppo offshore","isPartOf":{"@id":"https:\/\/www.railscarma.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/code-refactoring-gem-flay\/#primaryimage"},"image":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/code-refactoring-gem-flay\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/11\/Code-refactoring-tool-Flay-gem-.jpg","datePublished":"2016-11-09T11:04:01+00:00","dateModified":"2021-05-27T06:17:39+00:00","description":"Mantenere il codice elegante e senza cloni di codice durante la creazione di una vasta applicazione Rails pu\u00f2 essere un test significativo, nonostante un risultato completo","breadcrumb":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/code-refactoring-gem-flay\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.railscarma.com\/blog\/technical-articles\/code-refactoring-gem-flay\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/code-refactoring-gem-flay\/#primaryimage","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/11\/Code-refactoring-tool-Flay-gem-.jpg","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/11\/Code-refactoring-tool-Flay-gem-.jpg","width":800,"height":300},{"@type":"BreadcrumbList","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/code-refactoring-gem-flay\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.railscarma.com\/"},{"@type":"ListItem","position":2,"name":"Code Refactoring Gem &#8211; Flay"}]},{"@type":"WebSite","@id":"https:\/\/www.railscarma.com\/#website","url":"https:\/\/www.railscarma.com\/","name":"RailsCarma - Societ\u00e0 di sviluppo Ruby on Rails specializzata nello sviluppo offshore","description":"RailsCarma \u00e8 una societ\u00e0 di sviluppo Ruby on Rails a Bangalore. Siamo specializzati nello sviluppo offshore di Ruby on Rails con sede negli Stati Uniti e in India. Assumi sviluppatori esperti di Ruby on Rails per la migliore esperienza Web.","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":"it-IT"},{"@type":"Organization","@id":"https:\/\/www.railscarma.com\/#organization","name":"RailsCarma","url":"https:\/\/www.railscarma.com\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@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":"amministratore","image":{"@type":"ImageObject","inLanguage":"it-IT","@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\/it\/wp-json\/wp\/v2\/posts\/25603","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/comments?post=25603"}],"version-history":[{"count":0,"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/posts\/25603\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/media\/31838"}],"wp:attachment":[{"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/media?parent=25603"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/categories?post=25603"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/tags?post=25603"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}