La importancia de la legibilidad del código a menudo se subestima, especialmente cuando se programa en un entorno que enfatiza la interfaz de usuario y la experiencia del usuario. Si bien es cierto que es extremadamente importante hacer una gran aplicación, es igualmente importante poder cambiarla en el futuro. Con código ilegible, puede ser mucho más difícil resolver errores, con incontables horas de intentar encontrar las líneas de código correctas y entender cómo funciona..
Cualquier tonto puede escribir código que una computadora pueda entender. Los buenos programadores escriben código que los humanos pueden entender. - Martin Fowler
Con eso en mente, comencemos y aprendamos algunas formas de hacer que su código sea más legible tanto para usted como para otras personas que puedan necesitar cambios en el futuro..
Esto puede parecer un método obvio para hacer que el código sea más legible, pero a menudo se pasa por alto. Si está escribiendo el código Swift, es probable que esté usando Xcode como compilador, y de manera conveniente, resulta que Xcode está repleto de características que ayudan a hacer que su código sea más legible..
El tipo de comentario más utilizado es un comentario de una sola línea. Muchos de nosotros usamos las dos barras diagonales delante de una línea para que el compilador la ignore, pero no olvide lo útil que es para documentar su código.!
Como una actualización, aquí está cómo hacer un comentario tradicional de una sola línea:
// calcular la calificación promedio dejar promedio = (grado A + grado B + grado C) / 3.0
Por convención, el comentario está por encima de la línea que explica con más detalle. Trate de usar sus comentarios para agregar una explicación o conocimiento de su código, más allá de simplemente describir lo que hace la línea. Por ejemplo, el siguiente comentario para el código anterior no es útil, ya que no agrega ninguna explicación adicional más allá de lo que es inmediatamente evidente.
// sumar las calificaciones y dividir por 3
Puede que hayas usado Comando-Clic para obtener más información sobre una variable, clase o método en particular, pero ¿sabía que puede agregar información como esta a su propio código? ¡Usted puede! Para hacer esto, use una sintaxis especial de comentario de una sola línea de la siguiente manera: tres barras diagonales, seguidas de un espacio y un guión. Luego agregue el nombre del atributo (por ejemplo, "parámetro") y finalmente, escriba la palabra y luego su definición.
Aquí hay un ejemplo de una rápida sintaxis de comentarios de ayuda:
/// - parámetro foobar: definición de foo func foobar ()
Cuando tú Comando-Clic la foobar
funciona en cualquier lugar que se use, verá su definición mostrada en parámetros.
Un tipo de comentario menos utilizado es un comentario de bloque. Estos comentarios generalmente se usan para colocar la información de licencia y la información de derechos de autor en la parte superior del archivo, pero también se pueden usar si necesita escribir varias líneas explicando su código (aunque es una buena regla general que si necesita tantas palabras para explica tu código, probablemente no sea lo suficientemente legible).
Para hacer un comentario de bloqueo, comience con una barra diagonal, un asterisco y luego su código. Una vez que esté listo para terminar el comentario, simplemente puede colocar un asterisco y luego otra barra diagonal.
Aquí hay un ejemplo de ello:
/ * Copyright (c) 2018, Vardhan Agrawal Todos los derechos reservados. * /
Volviendo a la documentación de ayuda rápida, los comentarios en bloque son la forma correcta de crear documentación completa de su código dentro de Xcode. Para estos, simplemente use dos asteriscos para comenzar y terminar como lo haría para un comentario de bloque regular con un solo asterisco. Incluso puede utilizar la sintaxis de reducción de marca para dar formato a su comentario y hacerlo más legible.
Así es como documentarías un código:
/ ** Esta función devuelve una lista de aleatoriedad. ** Parámetros: ** - foo: un poco de aleatoriedad. - Barra: un montón más aleatoriedad. * /
Comience a agregar buenos comentarios a su código y estará un paso más cerca de escribir un código legible.
Es posible que haya escuchado esto mucho, pero el código debe poder leerse como en inglés. En realidad, a la computadora no le importa ni un poco cómo se ve a los humanos, pero uno de los signos de un buen programador es cuán bien pueden articular su código para que sea lo más legible posible..
En Swift, es mejor nombrar las cosas según el rol que el objeto desempeña en el código. Por ejemplo, en lugar de simplemente usar el nombre manzana
para una variable de tipo manzana
, Si la manzana sirve como alimento para un animal, podría llamarse comida
en lugar.
A veces puede ser tentador atribuirle muchas responsabilidades a un objeto que se supone que es especializado, y esto puede hacer que su aplicación sea menos modular y más confusa para cualquiera que esté leyendo el código. Nombrar sus objetos según lo que hacen puede ayudar a recordarle que solo asigne roles a los objetos de los que son responsables..
Los nombres de ... propiedades, variables y constantes deben leerse como nombres. - Manzana
Esta regla general de pulgar tiene sentido debido a la función que desempeñan estos tipos en una aplicación que normalmente son representables por los sustantivos. Aquí hay unos ejemplos:
var scoreCounter
para una variable de estado del juego SpriteKit.dejar compartidoInstancia
para un singleton.Los usos de los métodos y propiedades booleanas deben leerse como afirmaciones sobre el receptor. - Manzana
Al decir que los booleanos "deben ser afirmaciones sobre el receptor", simplemente queremos decir que deberían ser declaraciones de sí o no. Veamos algunos ejemplos:
var isEmpty
para una matriz.deja tocarse
para un juego sprite.Los protocolos que describen qué es algo deben leerse como sustantivos. - Manzana
Si está utilizando protocolos para crear un tipo de "plantilla", debe usar la misma denominación que usaría para las variables y las constantes. Esto también tiene sentido porque está nombrando el tipo de métodos, clases, etc. Aquí hay algunos ejemplos:
protocolo de frutas
para diferentes tipos de clases de frutas.protocolo de colecciones
para matrices, listas, y más.Los protocolos que describen una capacidad se deben nombrar usando los sufijos: able, ible o ing. - Manzana
Si sus protocolos definen lo que un tipo puede hacer, debe nombrarse con los sufijos anteriores. Esto debe leerse como si el protocolo fuera "capaz" de hacer algo. Aquí hay otra lista de ejemplos:
protocolo retornable
para los tipos que pueden ser devueltos.protocolo ProgressReporting
para tipos que reportan progreso.Además de estas convenciones de nomenclatura, Apple también recomienda que evite lo que ellos llaman "términos del arte", o en otras palabras, términos que pueden no ser fácilmente comprensibles. No dicen evitarlos por completo, pero no los usan cuando una palabra básica será suficiente en su lugar.
En las aplicaciones de nivel de producción, los desarrolladores utilizan patrones de diseño para estructurar su código de una manera que se puede cambiar y también es más legible. Discutamos algunos patrones de diseño que puedes usar en tu próxima aplicación iOS.
Por muy cliché que parezca, esta es realmente la base de cómo programa su aplicación. Digamos que estás construyendo una casa, la casa de tus sueños. Esta casa tiene cinco pisos de altura, por lo que si no construye una base sólida y sigue los planos, es probable que se caiga. La base de una aplicación iOS es el patrón de diseño o patrones que elija. Veamos dos de los patrones más utilizados..
El patrón de diseño Modelo-Vista-Controlador o MVC es un estándar de la industria. Separa cada parte de su código en tres partes: el modelo, la vista y el controlador.
Hay muchas variaciones de esto, tales como MVVM y MVP. Vale la pena leer sobre ellos.,pero el principio es similar a MVC. Para más información sobre MVC y MVVM, eche un vistazo a estos artículos de Bart Jacobs aquí en Envato Tuts+.
Cualquiera que elija, todos se llaman patrones de diseño y hacen que nuestro código sea más modular. Veamos otro patrón de diseño que puede complementar el patrón de aplicación que elijas usar..
Un singleton es una instancia única de una clase que está presente en todo momento en la memoria. Entonces, ¿por qué nos importa esto? Bueno, digamos que está creando una aplicación que se conecta a una base de datos. Necesita un lugar para colocar todas sus conexiones de servicio de datos. Este sería un lugar perfecto para usar singletons.
Mire el código a continuación: le mostrará cómo construir un singleton:
// Clase de declaración DataService static var shared = DataService () func createUser () // Hacer algo // CallSsite DataService.shared.createUser ()
Es fácil!
Si usa patrones de diseño, su código será mucho más legible, así como organizado y modular, para que pueda aislar los problemas con su aplicación mucho más fácilmente y hacer grandes cambios con un mínimo de cableado de código..
Para obtener más información sobre los patrones de diseño de Swift, consulte nuestro curso completo.
En este curso, aprenderás 21 patrones de diseño diferentes. Puede que encuentres uno que transforme la forma en que codificas.!
Como puede ver, no es tan difícil hacer que su código sea más legible y organizado. Cuando haga el esfuerzo de hacerlo, tendrá el beneficio de un código fácil de modificar, además de facilitar su comprensión para que otros lo entiendan. Los empleadores buscan estas cosas, así que adquiera el hábito de aplicar estos consejos de manera regular!
Espero que hayas disfrutado de este tutorial, y mientras estés aquí, revisa algunos de nuestros otros tutoriales sobre el desarrollo de aplicaciones Swift y iOS.