Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Create software for others to understand, machines understand binary

Create software for others to understand, machines understand binary


Juan Guillermo Gómez Torres

November 27, 2020


  1. Juan Guillermo Gómez GDE Firebase & GCP @jggomezt Create software

    for others to understand, machines understand binary
  2. JUAN GUILLERMO GÓMEZ Juan Guillermo es coorganizador de varios eventos,

    como GDG Cali, Startup Weekend Colombia y software libre. Ha estado involucrado en la comunidad tecnológica durante los últimos 15 años. Asiste a más de 30 eventos al año como orador invitado en toda Latinoamérica, donde habla sobre móvil, android, cloud, firebase, kotlin, arquitectura de software, emprendimiento e innovación. Es reconocido por Google como un experto en Firebase y Google Cloud Platform. Actualmente es líder técnico de una startup en CDMX. @jggomezt youtube.com/devhack W. UTOPICODE.io linkedin.com/in/jggomezt
  3. Software Quality ❖ Software engineering process and methods used in

    a project to ensure proper quality. ❖ Verify that quality attributes are achieved ❖ Verify that user requirements are met.
  4. Development Process

  5. Documentation Activities ➢ Communication Path ➢ Share Experiences ➢ A

    way of teaching. ➢ Make better decisions
  6. Analysis Activities ➢ Requirements ➢ User Stories ➢ Wireframes. ➢

    Mockups. ➢ Interviews.
  7. Analysis Activities

  8. Design Activities ➢ Architecture ➢ Views. ➢ C4. ➢ UML.

    ➢ RFC. ➢ APIs - Open API
  9. Software Architecture

  10. Software Architecture

  11. Software Patterns ➢ Expert experiences ➢ Vocabulary ➢ Achieve quality

    attributes ➢ Helps build complex architectures
  12. Code

  13. Clean Code Comments are usually created with the best of

    intentions, when the author realizes that his or her code isn’t intuitive or obvious. In such cases, comments are like a deodorant masking the smell of fishy code that could be improved. https://refactoring.guru/es/smells/comments
  14. Code Smell - Comments The best comment is a good

    name for a method or class. https://refactoring.guru/es/smells/comments
  15. Code Smell - Treatment If a comment is intended to

    explain a complex expression, the expression should be split into understandable subexpressions using Extract Variable https://refactoring.guru/es/smells/comments
  16. Code Smell - Treatment If a comment explains a section

    of code, this section can be turned into a separate method via Extract Method. The name of the new method can be taken from the comment text itself, most likely. https://refactoring.guru/es/smells/comments
  17. When to Ignore ❖ When explaining why something is being

    implemented in a particular way. ❖ When explaining complex algorithms (when all other methods for simplifying the algorithm have been tried and come up short). ❖ When explaining solutions or algorithms of an article. ❖ When creating a library for others developers. https://refactoring.guru/es/smells/comments
  18. When creating a library for others developers ❖ Explain what

    the method does. ❖ Explain how to use the methods. ❖ Explain the parameters and examples
  19. When creating a library for others developers ❖ Webpage with

    the documentation. ❖ A readme document on Github. ❖ Software to document in each language
  20. Testing ❖ Test Cases ❖ Bugs ❖ Solution to bugs.

  21. Recommendations ❖ Just create the necessary documentation ❖ Share your

    experiences with documentation ❖ Share solutions with the documentation. ❖ It is a great tool for learning. ❖ Clean code before anything else.
  22. References ❖ https://c4model.com/ ❖ https://swagger.io/ ❖ https://refactoring.guru/es/design-patterns ❖ https://refactoring.guru/es/refactoring/smells ❖

    http://testlink.org/ ❖ https://www.sphinx-doc.org/en/master/ ❖ https://www.mantisbt.org/ ❖ https://trello.com/
  23. Thank You! Gracias ! Juan Guillermo Gómez GDE Firebase &

    GCP @jggomezt