- Code review = Pull requests En platanus nuestra herramienta principal para hacer code reviews son los pull requests.
- Por que hacemos code review
- Encontrar bugs
- Pero ojo que esto es limitado, unit tests y static analyzer tools (linters) son mucho mejores.
- Force the discussion and vetting of code design
- Cultura
- En parte le da forma a la manera que tenemos de trabajar
- Nos ayuda a mantener y compartir un cierto nivel de standards en nuestra codigo y nuestra manera de resolver problemas
- Tenemos que estar abiertos a mostrar nuestro trabajo a otros, esto debiera ser deseado, mas que visto como una amenaza o con miedo. No tener miedo a estar equivocado.
- Teamwork
- Aprendemos a comunicarnos de manera mas eficiente en un medio dificil, donde interpretaciones pueden hacerse sobre el tono de un comentarios, y estas llevar a que la conversacion se cierre
- A veces es dificil ponerse de acuerdo sobre todo con juicios subjetivos de por medio. (No me gusta)
- Es una instancia muy buena para enseñarnos mutuamente
- Build trust and create a shared coding standard
- En parte le da forma a la manera que tenemos de trabajar
- Encontrar bugs
- Como hacer un pull request para que sea agradable de hacerle code review
- Commits atomicos
- Planificación
- Que la linea de tiempo representada por los commits tenga que ver con el avance en las implementacion de features mas que en el desarrollo mismo.
- Evitar el commit hell cuando uno ya ha terminado un feature y quiere mostrarse como un gran comiteador
- Algunos trucos
- Squash, Fixup
git rebase --autosquash
- Multiple PRs para funcionalidades intependientes
- Menos lineas hace hacer review
- Ejemplo de como ayuda a desacoplar los tests
- Squash, Fixup
- Tener un equipo de code reviewers. Los más experimentados tienen un "badge" o rol o pertenecen al Team de reviews. Esto es un honor. Y se gana. Los recien llegados no pueden hacer code review, tienen que demostrar que son aptos.
https://twitter.com/iamdevloper/status/397664295875805184
https://slack.engineering/on-empathy-pull-requests-979e4257d158 https://seesparkbox.com/foundry/atomic_commits_with_git https://www.freshconsulting.com/atomic-commits/ http://codeinthehole.com/tips/pull-requests-and-other-good-practices-for-teams-using-github/
https://graysonkoonce.com/stacked-pull-requests-keeping-github-diffs-small/