{"id":178,"date":"2024-03-29T11:00:00","date_gmt":"2024-03-29T11:00:00","guid":{"rendered":"https:\/\/blog.codesys.it\/?p=178"},"modified":"2024-03-28T08:20:23","modified_gmt":"2024-03-28T08:20:23","slug":"i-nomi-delle-variabili","status":"publish","type":"post","link":"https:\/\/blog.codesys.it\/?p=178","title":{"rendered":"I nomi delle variabili"},"content":{"rendered":"\n<p>Un elemento che deve essere curato con attenzione, mentre si scrive software, \u00e8 l\u2019assegnazione del nome delle variabili utilizzate. Pu\u00f2 sembrare una cosa banale ma un\u2019applicazione complessa richiede centinaia o migliaia di variabili; procedere in modo disordinato nell\u2019assegnare dei nomi pu\u00f2 rendere intricata la comprensione di quanto scritto. Personalmente mi sono dato una serie di regole alle quali mi attengo, indipendentemente dalla consistenza dell\u2019applicazione; ve le illustro a titolo di esempio.<\/p>\n\n\n\n<p>Leggendo il nome della variabile deve risultare chiaro quale \u00e8 l\u2019informazione che vi \u00e8 contenuta, per cui tendo a non lesinare sulla sua lunghezza. Di solito un singolo termine non \u00e8 sufficiente per dare una definizione, ne possono servire da due a quattro, i termini si possono concatenare in modo da creare una parola unica, anche usando abbreviazioni. L\u2019accortezza di mantenere la prima lettera di ogni parola maiuscole rende i singoli termini ben visibili. Questa tecnica prende il nome di \u201cPascal Case\u201d. Per esempio: la posizione attuale di un mandrino potrebbe essere contenuto nella variabile PosizioneAttMandrino, oppure la coordinata verticale del centro di un detettore potrebbe diventare: CooZCentroDetettore.<\/p>\n\n\n\n<p>Inoltre, evito di utilizzare il carattere underscore che appesantisce la lettura e tendo ad avere almeno tre caratteri per ogni termine che compone il nome della variabile. Unica eccezione sono le variabili utilizzate come indice per accedere ad array. In questo caso uso variabili anche con una singola lettera: i, j, x, y, z.<\/p>\n\n\n\n<p>Utilizzando CODESYS la lunghezza dei nomi non \u00e8 un problema. L\u2019editor dispone della funzionalit\u00e0 intellisense: una volta scritto il nome parziale di una variabile con CTRL + barra spaziatrice si richiede il completamento automatico. Se quanto scritto identifica univocamente il nome di una variabile, questo \u00e8 scritto automaticamente; in caso di ambiguit\u00e0 appare una lista dalla quale selezionare le possibili alternative. Vedi esempio:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"683\" height=\"238\" src=\"https:\/\/blog.codesys.it\/wp-content\/uploads\/2024\/02\/Capture-1.png\" alt=\"\" class=\"wp-image-179\" srcset=\"https:\/\/blog.codesys.it\/wp-content\/uploads\/2024\/02\/Capture-1.png 683w, https:\/\/blog.codesys.it\/wp-content\/uploads\/2024\/02\/Capture-1-300x105.png 300w\" sizes=\"auto, (max-width: 683px) 100vw, 683px\" \/><\/figure>\n\n\n\n<p>Non tutti potrebbero condividere queste regole, non importa, non sono scritte sulla pietra. L\u2019importante \u00e8 comprendere che l\u2019assegnazione dei nomi delle variabili \u00e8 da affrontare con un certo rigore, per cui invito caldamente questi comportamenti:<\/p>\n\n\n\n<p><strong>Darsi una regola. <\/strong>Che le regole siano quelle descritte sopra o siano altre l\u2019importante \u00e8 ci siano e che vengano rispettate. L\u2019applicazione risulter\u00e0 coerente e professionale.<\/p>\n\n\n\n<p><strong>Non tradire il nome della variabile.<\/strong> L\u2019informazione contenuta nella variabile deve essere coerente con nome assegnato. Pu\u00f2 succedere che, nel corso dello sviluppo, cambino le necessit\u00e0 e cambi l\u2019informazione contenuta nella variabile. Lasciare il vecchio nome non \u00e8 una buona pratica. Niente paura: con la funzione <em>refactoring <\/em>di CODESYS \u00e8 possibile rinominare la variabile sostituendo tutte le occorrenze in cui la variabile \u00e8 usata. <\/p>\n\n\n\n<p><strong>Curare la leggibilit\u00e0. <\/strong>Lo scopo ultimo \u00e8 mantenere una chiara leggibilit\u00e0 del codice scritto. Ricordare che, nella vita del software, mediamente una linea di codice \u00e8 scritta una volta e letta dieci volte e la maggior parte delle volte questo lettore saremo ancora noi, aiutiamolo.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Un elemento che deve essere curato con attenzione, mentre si scrive software, \u00e8 l\u2019assegnazione del nome delle variabili utilizzate. Pu\u00f2 sembrare una cosa banale ma un\u2019applicazione complessa richiede centinaia o migliaia di variabili; procedere in modo disordinato nell\u2019assegnare dei nomi pu\u00f2 rendere intricata la comprensione di quanto scritto. Personalmente mi sono dato una serie di [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[27,17],"tags":[18],"class_list":["post-178","post","type-post","status-publish","format-standard","hentry","category-base","category-best-practice-e-consigli","tag-base"],"_links":{"self":[{"href":"https:\/\/blog.codesys.it\/index.php?rest_route=\/wp\/v2\/posts\/178","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.codesys.it\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.codesys.it\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.codesys.it\/index.php?rest_route=\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.codesys.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=178"}],"version-history":[{"count":4,"href":"https:\/\/blog.codesys.it\/index.php?rest_route=\/wp\/v2\/posts\/178\/revisions"}],"predecessor-version":[{"id":307,"href":"https:\/\/blog.codesys.it\/index.php?rest_route=\/wp\/v2\/posts\/178\/revisions\/307"}],"wp:attachment":[{"href":"https:\/\/blog.codesys.it\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=178"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.codesys.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=178"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.codesys.it\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=178"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}