versiones tutorial source software open espaƱol descargar control git version-control

git - tutorial - Carpetas de "preocupaciones" aleatorias y archivos ".keep"



git tutorial (3)

Estoy aprendiendo rails.

En algún momento, noté que aparecían carpetas y archivos aparentemente aleatorios en el directorio de la aplicación de mis rieles. En algunas carpetas hay una carpeta de concerns con un archivo .keep dentro. El archivo .keep parece estar vacío. En otras carpetas no hay carpeta de concerns pero hay un archivo .keep vacío.

¿Alguien sabe cuál es el trato con estos archivos / carpetas?


Preocupaciones es un concepto simple pero poderoso. Existe para la reutilización del código. Básicamente, la idea es extraer trozos de código comunes y / o específicos del contexto para limpiar los modelos y evitar que se vuelvan demasiado gordos e inmanejables.

Me gustaría especificar explícitamente que debe usar objetos de servicio para proporcionar funcionalidad que no sea la preocupación del objeto específico. Por ejemplo, una organización tiene muchos usuarios. Ahora el administrador de la organización necesita exportar un archivo CSV de todos los usuarios de esta organización. Este código se puede colocar en el modelo de organización pero, como no es responsabilidad del objeto de la organización, este código debe colocarse en una clase en la que acaba de pasar el objeto de la organización y devuelve el CSV de todos los usuarios.

class Services::GenerateCsv def self.get_users org #add logic the fetch users for the org and generate the CSV and return the CSV data end end

Siempre que necesite generación CSV, puede colocar esa lógica en la clase anterior. Este enfoque mantiene el objeto (en este caso, el modelo de organización) limpio del código que no debería ser su responsabilidad. Un principio general que sigo es: si el código está modificando el objeto propio, mueva el código a un objeto de servicio.

Nota: Su pregunta fue sobre inquietudes, pero pensé en agregar algunas cosas adicionales que sigo para mantener la base de código limpia y manejable, ya que podría ayudar a otros programadores. Ese enfoque anterior es discutible.


.keep archivos .keep son archivos de 0 bytes que están ahí para evitar que las carpetas vacías sean ignoradas por todo tipo de procesos. Nada de que preocuparse.


Los archivos .keep son especialmente útiles cuando quieres asignar directorios vacíos con git.

Dato .keep , el nombre .keep o .gitkeep tiene sentido. puede llamar al archivo .foo por el mismo efecto, es simplemente una convención legible.

Los archivos .keep también están ahí para ayudar al portage de un vcs a otro, evitando la eliminación de directorios importantes cuando se desmuerde algo que haría que esos directorios estuvieran vacíos.

Por ejemplo, considere una secuencia de comandos que intente cd dir en un directorio que git no haya rastreado.

Es un paradigma de diseño de software que busca disminuir el número de decisiones que los desarrolladores deben tomar, ganando simplicidad, pero no necesariamente perdiendo flexibilidad.