Skip to content

Instantly share code, notes, and snippets.

@blackjid
Created September 27, 2017 16:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save blackjid/559ee6ec090e9175aa19405abade362c to your computer and use it in GitHub Desktop.
Save blackjid/559ee6ec090e9175aa19405abade362c to your computer and use it in GitHub Desktop.

Code Review y Pull Requests

Outline

  • 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
  • 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

Ideas fuera de la presentación

  • 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.

References

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/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment