{"id":946,"date":"2022-08-12T00:00:00","date_gmt":"2022-08-11T22:00:00","guid":{"rendered":"https:\/\/programaraciegas.net\/?p=946"},"modified":"2022-07-20T07:48:37","modified_gmt":"2022-07-20T05:48:37","slug":"como-indentar-el-codigo-para-que-sea-limpio-y-legible","status":"publish","type":"post","link":"https:\/\/programaraciegas.net\/?p=946","title":{"rendered":"C\u00f3mo indentar el c\u00f3digo para que sea limpio y legible"},"content":{"rendered":"<p>Como vimos en el art\u00edculo sobre <a href=\"https:\/\/programaraciegas.net\/?p=944\" rel=\"nofollow\">c\u00f3mo escribir c\u00f3digo limpio y legible<\/a> una de las caracter\u00edsticas es la de que el c\u00f3digo est\u00e9 escrito con una buena indentaci\u00f3n.<\/p>\n<h2>\u00bfQu\u00e9 es la indentaci\u00f3n de un texto?<\/h2>\n<p>La palabra indentaci\u00f3n, como otras muchas palabras tecnol\u00f3gicas, proviene de una traducci\u00f3n libre del t\u00e9rmino indentation. En castellano el t\u00e9rmino correcto ser\u00eda espacio de sangrado para un texto.<\/p>\n<p>En pocas palabras es el espacio vac\u00edo situado a la izquierda de una l\u00ednea de texto.<\/p>\n<p>En un bloque de texto con varias l\u00edneas podemos tener distintos niveles de sangrado. Cuando esto ocurre esa diferencia de espacios vac\u00edos a la izquierda empieza a tener significado ya que visualmente nos permite identificar las diferencias entre una l\u00ednea y la siguiente.<\/p>\n<p>En el caso de algunos lenguajes de programaci\u00f3n como Python o el lenguaje de formateado de datos YAML el nivel de indentaci\u00f3n tiene un significado claro ya que se utiliza para indicar el comienzo de un bloque o dominio.<\/p>\n<p>En otros lenguajes el nivel de indentaci\u00f3n se utiliza para identificar f\u00e1cilmente si una l\u00ednea de c\u00f3digo pertenece a un bloque condicional, una funci\u00f3n o bloque de c\u00f3digo. De esta forma podemos encontrar visualmente cu\u00e1ndo comienza y termina una funci\u00f3n o un conjunto de instrucciones que pertenecen a un mismo bloque de c\u00f3digo.<\/p>\n<h2>\u00bfEspacio o tabulaci\u00f3n?<\/h2>\n<p>Dentro del mundo de la programaci\u00f3n hay personas que prefieren utilizar el caracter de espacio para indentar el c\u00f3digo y otras personas prefieren el caracter de tabulaci\u00f3n. Esto honestamente no tiene demasiada importancia siempre y cuando no mezclemos tabulaciones con espacios y seamos coherentes con nuestra forma de indentar el c\u00f3digo.<\/p>\n<p>Adem\u00e1s los editores de c\u00f3digo m\u00e1s habituales nos permiten seleccionar entre espacio o tabulaci\u00f3n para indentar nuestro c\u00f3digo.<\/p>\n<h2>Indentaci\u00f3n y accesibilidad<\/h2>\n<p>La indentaci\u00f3n del c\u00f3digo puede resultar invisible a programadores ciegos que utilicen el lector de pantallas mediante una s\u00edntesis de voz. Utilizando una l\u00ednea braille o braille display el nivel de indentaci\u00f3n es visible gracias a que los caracteres en blanco son legibles a trav\u00e9s del dispositivo de lectura braille.<\/p>\n<p>Para facilitar la tarea de identificar el nivel de indentaci\u00f3n de una l\u00ednea para los usuarios de lectores de pantalla con voz se incluyen caracter\u00edsticas en estos productos de apoyo para identificar el nivel de indentaci\u00f3n de una l\u00ednea de textos. Tanto JAWS, NVDA como ORCA incluyen opciones para activar la identificaci\u00f3n del nivel de indentaci\u00f3n de un texto. Incluso permiten activar un modo para que el lector de pantallas avise al usuario de que el nivel de indentaci\u00f3n ha cambiado cuando sube o baja por el fichero de c\u00f3digo.<\/p>\n<p>En el caso de VoiceOver para MacOS esta opci\u00f3n no est\u00e1 disponible por defecto pero podemos utilizar un <a href=\"https:\/\/github.com\/TyflosAccessibleSoftware\/IndentationLineForVoiceOver\" rel=\"nofollow\">AppleScript para saber el nivel de indentaci\u00f3n de un texto<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Como vimos en el art\u00edculo sobre c\u00f3mo escribir c\u00f3digo limpio y legible una de las caracter\u00edsticas es la de que el c\u00f3digo est\u00e9 escrito con una buena indentaci\u00f3n. \u00bfQu\u00e9 es la indentaci\u00f3n de un texto? La palabra indentaci\u00f3n, como otras muchas palabras tecnol\u00f3gicas, proviene de una traducci\u00f3n libre del t\u00e9rmino indentation. En castellano el t\u00e9rmino &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/programaraciegas.net\/?p=946\" class=\"more-link\">Continuar leyendo<span class=\"screen-reader-text\"> \u00abC\u00f3mo indentar el c\u00f3digo para que sea limpio y legible\u00bb<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8,6],"tags":[415,87],"class_list":["post-946","post","type-post","status-publish","format-standard","hentry","category-metodologiafilosofia","category-programacion","tag-codificacion","tag-programacion-2"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/programaraciegas.net\/index.php?rest_route=\/wp\/v2\/posts\/946","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/programaraciegas.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/programaraciegas.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/programaraciegas.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/programaraciegas.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=946"}],"version-history":[{"count":0,"href":"https:\/\/programaraciegas.net\/index.php?rest_route=\/wp\/v2\/posts\/946\/revisions"}],"wp:attachment":[{"href":"https:\/\/programaraciegas.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=946"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/programaraciegas.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=946"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/programaraciegas.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=946"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}