{"id":12849,"date":"2018-03-20T11:52:41","date_gmt":"2018-03-20T10:52:41","guid":{"rendered":"http:\/\/www.devapp.it\/wordpress\/?p=12849"},"modified":"2018-03-20T11:52:41","modified_gmt":"2018-03-20T10:52:41","slug":"android-analisi-del-codice-con-lint","status":"publish","type":"post","link":"https:\/\/www.devapp.it\/wordpress\/android-analisi-del-codice-con-lint\/","title":{"rendered":"Android, analisi del codice con Lint"},"content":{"rendered":"<p>Per rilevare problemi strutturali nelle applicazioni, Android Studio utilizza uno strumento molto efficace che risponde al nome di <strong>Lint<\/strong>. Viene invocato ogni volta che si svolge il <em>build<\/em> dell&#8217;applicazione ma Lint pu\u00f2 essere utilizzato anche in maniera indipendente. E&#8217; incluso nella<strong> cartella tools dell&#8217;Android SDK<\/strong> e deve essere lanciato specificando la directory del progetto:<\/p>\n<pre class=\"lang:sh decode:true\">&gt; lint \/home\/develop\/AndroidStudioProjects\/MyApplication<\/pre>\n<p>L&#8217;output di Lint fornisce informazioni sui vari problemi riscontrati classificandoli come Error o Warning. La descrizione di ogni aspetto rilevato include\u00a0il file di collocazione (completo di percorso interno al progetto), numero di riga, una breve spiegazione ed un&#8217;etichetta che lo classifica (&#8220;Unused Resources&#8221;, &#8220;RtlHardcoded&#8221;, &#8220;Missing Prefix&#8221;, etc.).<\/p>\n<p>Nell&#8217;invocazione da riga di comando si possono specificare anche dei flag che permettono di indirizzare Lint su tipi specifici di ricerca:<\/p>\n<pre class=\"lang:sh decode:true\">&gt; lint --check MissingPrefix \/home\/develop\/AndroidStudioProjects\/MyApplication<\/pre>\n<p>Lint non \u00e8 l&#8217;unico tipo di ispezione sul codice che Android Studio attua. All&#8217;interno dell&#8217;IDE \u00e8 possibile <strong>avviare la verifica del codice<\/strong> dal menu <em>Analyze<\/em>\u00a0seguendo la voce <em>Inspect code<\/em><\/p>\n<p><a href=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2017\/02\/android-studio-lint-inspection-code.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-12850\" src=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2017\/02\/android-studio-lint-inspection-code-276x300.png\" alt=\"\" width=\"276\" height=\"300\" srcset=\"https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2017\/02\/android-studio-lint-inspection-code-276x300.png 276w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2017\/02\/android-studio-lint-inspection-code.png 397w\" sizes=\"auto, (max-width: 276px) 100vw, 276px\" \/><\/a><\/p>\n<p>Si aprir\u00e0 una finestra di dialogo come quella mostrata in figura in cui si potr\u00e0 scegliere l&#8217;ambito dell&#8217;ispezione e darle il via.<\/p>\n<p>Che il progetto funzioni e sia efficiente \u00e8 assolutamente fondamentale ma anche gli aspetti strutturali che uno strumento come Lint permette di rilevare sono molto importanti ai fini della manutenibilit\u00e0 del codice.<\/p>\n<p>Provate a porre attenzione all&#8217;analisi del vostro progetto e scoprirete molti spunti interessanti per il suo miglioramento!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Per rilevare problemi strutturali nelle applicazioni, Android Studio utilizza uno strumento molto efficace che risponde al nome&#8230;<\/p>\n","protected":false},"author":561,"featured_media":13501,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1682],"tags":[1278,1541,1894,1893],"class_list":["post-12849","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-android","tag-android","tag-android-studio","tag-code-inspection","tag-lint"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/12849","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/users\/561"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/comments?post=12849"}],"version-history":[{"count":2,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/12849\/revisions"}],"predecessor-version":[{"id":12852,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/12849\/revisions\/12852"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/media\/13501"}],"wp:attachment":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/media?parent=12849"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/categories?post=12849"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/tags?post=12849"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}