¬ŅC√≥mo entender el c√≥digo "extranjero" y unirme a un nuevo equipo?



Tan pronto como el desarrollador ingresa a la empresa y recibe la tarea, a menudo resulta que necesita unirse al proyecto com√ļn de alg√ļn equipo y no escribir su c√≥digo desde cero.

Cualquier c√≥digo tiene su propia l√≥gica, basada en ciertos principios, en √©l hay patrones y tecnolog√≠as caracter√≠sticas del equipo al que se ha unido el programador. Pero, ¬Ņc√≥mo comenzar a comprender r√°pidamente el proyecto de otra persona, a pesar del hecho de que apenas es peque√Īo y, a menudo, no hay documentaci√≥n, o es insuficiente e inexacto?

Le recordamos: para todos los lectores de "Habr": un descuento de 10.000 rublos al registrarse en cualquier curso de Skillbox con el código de promoción "Habr".

Skillbox recomienda: El curso en línea de Frontend Developer Profession .

De hecho, la mejor documentaci√≥n es el c√≥digo en s√≠ y aquellos que crearon este c√≥digo (siempre que todav√≠a est√©n en alg√ļn lugar cercano y no hayan abandonado la compa√Ī√≠a). ¬ŅC√≥mo puedo reducir el tiempo al m√≠nimo y llegar r√°pidamente al trabajo, haciendo mi contribuci√≥n?

En repetidas ocasiones me he encontrado con esta situaci√≥n en los √ļltimos 15 a√Īos de mi trabajo como programador, y aqu√≠ est√°n mis pensamientos sobre este tema.

Metas y objetivos del proyecto.


Lo primero que debe hacer es dedicar un poco de tiempo a comprender qué tareas realiza la aplicación para la que está creando el código. Este es un desafío global; habiéndolo resuelto, harás frente a todo lo demás.

No puede trabajar en un proyecto sin darse cuenta de por qu√© es necesario. La comprensi√≥n com√ļn le permitir√° comprender r√°pidamente las peque√Īas cosas. Adem√°s, su propio trabajo se llevar√° a cabo de manera m√°s armoniosa con el resto del equipo. Ladrillo a ladrillo: as√≠ es como se construye la casa.

Arquitectura


Después de haber aprendido la tarea principal, dedíquese al análisis de la ejecución del código y su lógica.

La arquitectura de algunos proyectos es bastante complicada, especialmente si las tecnologías básicas de estos proyectos no le son muy familiares. Al principio, trate de encontrar documentación técnica (o pregunte a sus colegas al respecto) para ver la lógica básica.

Teniendo en cuenta la estructura del proyecto, podr√° comenzar a trabajar m√°s r√°pido y no interferir con el funcionamiento de todas las otras partes en las que participan otros miembros del equipo.

Puede haber fragmentos en el proyecto que violen la lógica general, pero, conociendo la idea y la arquitectura, puede solucionar el problema, reorganizar o cambiar los "ladrillos" para que encajen perfectamente en el edificio general.

Patrones


Hay una gran cantidad de patrones que los desarrolladores usan cuando escriben c√≥digo. Estos son patrones estructurales, "conductuales", tecnol√≥gicos y otros. Todos ellos ayudan a tipificar formas de resolver problemas comunes al dise√Īar programas.

Comprender qu√© patrones se utilizan en su proyecto actual ayudar√°, a nivel de clase, a comprender c√≥mo se deben incorporar las funciones en el c√≥digo. Como resultado, podr√° crear un c√≥digo coherente que corresponder√° a la l√≥gica y los patrones generales, lo que en √ļltima instancia conducir√° a un n√ļmero mucho menor de comentarios sobre el c√≥digo, una mejor comprensi√≥n del mismo y la eliminaci√≥n r√°pida de errores si es necesario.

Después de haber trabajado un poco en el proyecto, podrá comprender de un vistazo qué secciones del código se ajustan a la estructura general y qué requiere una refactorización.

Pautas


La mayor√≠a de los equipos tienen ciertas reglas, o m√°s bien, un conjunto de reglas seg√ļn las cuales todos act√ļan. No se trata solo de los principios generales del trabajo, sino tambi√©n del uso de clases y niveles de aplicaci√≥n. Si los representantes del equipo se gu√≠an por las mismas pautas, entonces el c√≥digo desarrollado es m√°s f√°cil de entender y leer.

Lo más probable es que el equipo al que te unas también tenga pautas que debes aprender. En primer lugar, se relacionan con el lenguaje de programación, que es el principal durante el desarrollo.

Puede preguntar dónde obtener toda la información sobre el proyecto, su arquitectura, plantillas y pautas. Existen varios métodos para obtener lo necesario, excepto los que ya se han expresado anteriormente:

  • Busque cualquier informaci√≥n, incluso la que pueda considerarse irrelevante; Construya su propia base de conocimiento de t√©rminos, abreviaturas y conceptos comunes que utiliza su equipo.
  • Una vez que esta base de datos est√© lista, puede discutir todos los temas de inter√©s para usted con el gerente del proyecto, ya que ya habla el mismo idioma.
  • Adem√°s, vale la pena hablar con los arquitectos de aplicaciones y los l√≠deres de equipo sobre la arquitectura general de su proyecto. Luego, intente obtener m√°s informaci√≥n sobre esta arquitectura y las t√©cnicas de optimizaci√≥n de c√≥digo asociadas. Si ve algo que, en su opini√≥n, viola la l√≥gica general de la aplicaci√≥n, aseg√ļrese de discutirlo con el l√≠der del equipo.
  • Averig√ľe con sus compa√Īeros de equipo qu√© patrones y reglas se utilizan en el curso del trabajo sobre el c√≥digo, tanto durante la escritura como en el mantenimiento futuro. Una vez que conozca los puntos principales, compare lo que funciona mejor y act√ļe en consecuencia en el futuro.
  • Intente limpiar una secci√≥n de c√≥digo de problemas potenciales y reales; esto lo ayudar√° a obtener una comprensi√≥n m√°s profunda del proyecto y su c√≥digo. ¬ŅQu√© usa su equipo para limpiar el c√≥digo?

En términos generales, la refactorización es la mejor oportunidad para involucrar a su equipo en una discusión sobre qué pautas deben revisarse y cuáles deben usarse en el futuro.

Comparta sus propios desarrollos con el equipo, participe activamente en reuniones de trabajo, discuta problemas actuales, la arquitectura de la aplicaci√≥n y sus elementos, plantillas y otros puntos importantes. Las reuniones de trabajo pueden ser un canal confiable para obtener informaci√≥n adicional; Vale la pena hablar sobre sus observaciones / logros, sobre lo que puede ser √ļtil para todos.

Como resultado, no solo puede comenzar a trabajar rápidamente, sino también unirse al equipo, convirtiéndose en su participante insustituible en poco tiempo.

Por supuesto, conocerá a personas con quienes es difícil comunicarse; Habrá problemas con el código. Pero esto sucede casi siempre: hay equipos donde todo es perfecto, pero son pocos.
Skillbox recomienda:

Source: https://habr.com/ru/post/441356/


All Articles