Slide 1

Slide 1 text

Juan Guillermo Gómez GDE Firebase & GCP @jggomezt Create software for others to understand, machines understand binary

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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.

Slide 4

Slide 4 text

Development Process

Slide 5

Slide 5 text

Documentation Activities ➢ Communication Path ➢ Share Experiences ➢ A way of teaching. ➢ Make better decisions

Slide 6

Slide 6 text

Analysis Activities ➢ Requirements ➢ User Stories ➢ Wireframes. ➢ Mockups. ➢ Interviews.

Slide 7

Slide 7 text

Analysis Activities

Slide 8

Slide 8 text

Design Activities ➢ Architecture ➢ Views. ➢ C4. ➢ UML. ➢ RFC. ➢ APIs - Open API

Slide 9

Slide 9 text

Software Architecture

Slide 10

Slide 10 text

Software Architecture

Slide 11

Slide 11 text

Software Patterns ➢ Expert experiences ➢ Vocabulary ➢ Achieve quality attributes ➢ Helps build complex architectures

Slide 12

Slide 12 text

Code

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

Code Smell - Comments The best comment is a good name for a method or class. https://refactoring.guru/es/smells/comments

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

When creating a library for others developers ❖ Webpage with the documentation. ❖ A readme document on Github. ❖ Software to document in each language

Slide 20

Slide 20 text

Testing ❖ Test Cases ❖ Bugs ❖ Solution to bugs.

Slide 21

Slide 21 text

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.

Slide 22

Slide 22 text

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/

Slide 23

Slide 23 text

Thank You! Gracias ! Juan Guillermo Gómez GDE Firebase & GCP @jggomezt