Toggle navigation
Betabeers
Foro
Empleo
Agenda
Streamers
Tests
Charlas
Cursos
Comunidades
Entrar
Acabas de votar el comentario
Portada
>
Foro
>
Android
¿Como agrupais verticalmente los métodos de vuestras Activities/Fragments?
Me gusta
2383 visitas
0
Olmo Gallegos Hernández
21/08/2015 06:01
Buenas de nuevo,
como sabeis, esto de programar es un proceso de constante mejora y maduración. Ultimamente me planteo si estoy ordenando correctamente los métodos dentro de un componente de ciclo de vida de Android (Activity, Fragment, CustomView...).
Segun dice el tio Bob en clean code, el código deberia poderse leer de arriba a abajo como una novela, por lo tanto cuando invoques a un método, lo ideal es que este se encuentre justo debajo. Creo que esto va fenomenal en Java puro, pero en un entorno tan orientado a eventos como Android, esta politica puede dar lugar a clases muy caóticas y desordenadas.
Lo que yo hago es definir regiones (con el //region de Android Studio), entre las que suelo destacar:
Business logic -> métodos que realizan calculos sencillos sobre los datos, como buscar cosas en listas, o contar cuantos elementos cumplen una determinada condición
View methods -> métodos de pintado puro (rellenar una lista con valores, cambiar visibilidades de TextViews), mostrar u ocultar "cargando", etc. (Los llamo View por que van en la parte "Vista" de MVP - vease Model-View-Presenter)
Android lifecycle callbacks -> onCreate, onResume, onDestroy, onActivityResult... etc
<Interfaz>'s virtuals -> cuando mis clases heredan de una o varias interfaces, agrupo los @Override de sus metodos en una región
Generalmente esas, esporadicamente defino alguna más :P
Con esta técnica y la ayuda de los shortcuts "Collapse All / Expand All", me encuentro clases con el codigo muy bien agrupado y muy legibles. No obstante, me mosquea que a veces tengo separaciones verticales muy grandes entre donde está definido un método, y donde este es llamado (a lo mejor se define en la linea 125, y es llamado en la 30). Como sabeis, esto ultimo está desaconsejado por muchos autores y gurús de la programación.
¿Os habeis encontrado este problema? Y en cuyo caso, ¿como lo resolveis?
Thanks in advance como siempre!! :-P Un saludo
Responder
Responder
Para comentar tienes que estar registrado.
Registrate
Publicar comentario
Este sitio necesita cookies para que funcione correctamente
Aceptar Cookies
PolÃtica de cookies
como sabeis, esto de programar es un proceso de constante mejora y maduración. Ultimamente me planteo si estoy ordenando correctamente los métodos dentro de un componente de ciclo de vida de Android (Activity, Fragment, CustomView...).
Segun dice el tio Bob en clean code, el código deberia poderse leer de arriba a abajo como una novela, por lo tanto cuando invoques a un método, lo ideal es que este se encuentre justo debajo. Creo que esto va fenomenal en Java puro, pero en un entorno tan orientado a eventos como Android, esta politica puede dar lugar a clases muy caóticas y desordenadas.
Lo que yo hago es definir regiones (con el //region de Android Studio), entre las que suelo destacar:
Business logic -> métodos que realizan calculos sencillos sobre los datos, como buscar cosas en listas, o contar cuantos elementos cumplen una determinada condición
View methods -> métodos de pintado puro (rellenar una lista con valores, cambiar visibilidades de TextViews), mostrar u ocultar "cargando", etc. (Los llamo View por que van en la parte "Vista" de MVP - vease Model-View-Presenter)
Android lifecycle callbacks -> onCreate, onResume, onDestroy, onActivityResult... etc
<Interfaz>'s virtuals -> cuando mis clases heredan de una o varias interfaces, agrupo los @Override de sus metodos en una región
Generalmente esas, esporadicamente defino alguna más :P
Con esta técnica y la ayuda de los shortcuts "Collapse All / Expand All", me encuentro clases con el codigo muy bien agrupado y muy legibles. No obstante, me mosquea que a veces tengo separaciones verticales muy grandes entre donde está definido un método, y donde este es llamado (a lo mejor se define en la linea 125, y es llamado en la 30). Como sabeis, esto ultimo está desaconsejado por muchos autores y gurús de la programación.
¿Os habeis encontrado este problema? Y en cuyo caso, ¿como lo resolveis?
Thanks in advance como siempre!! :-P Un saludo