Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Review: protect your very valuable software


In this lesson you will read and remember the concepts we have studied so far.

Challenge: read the concepts and definition of what we have covered so far to reinforce your knowledge.

Aportes 4

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Refactoring your design: Refactoring is the process of modifying the structure of your code, without modifying its behavior.

SRP Single Responsibility Principle: Every object in your system should have a single responsibility, and all the object’s services should be focused on that single responsibility.

Refactoring and Standup meetings: Refactoring is the process of modifying the structure of your code, without modifying its behavior.

DRY Don’t Repeat Yourself: DRY is about having each piece of information and behavior in your system in a specific, single place. The DRY principle is a principle of Software Development aimed at reducing repetition of information of all kinds.

Definition is done: When everything is complete , then you have definition, it’s done.

Ship out / Release Software with Quality and Value: Your Software must always have awesome quality and awesome value, aim at Perfection, settle for Functionality.

Defend your software from yourself and your peers: Test Driven Development (TDD) is all about writing your Code with testing in mind. It’s about writing Tests before any code and
letting these Tests drive your Implementation.

Technique #1 - Version Control with your code repository: Version Control is a super cool technology you can use, it’s one of the best Defensive tools you can use. Version Control lets
you create a repository to keep your code in a single place to ease backup and recovery.

Technique #2 - Control your dependencies: You need to find a way to keep things independent, but working together at the same time to make Testing easier. You need to find a way to apply Independent Tests. Create Mock Objects to do this.

Functional Testing: Your tests need to guarantee your Software’s optimal Functionality.

Technique #3 - Always Exercise your Code-Unit Testing: Unit testing is all about creating tests that run automatically to test the smallest components of the code for their business logic.

Technique #4 - Let your peers understand your Code-Document it! In form your Customers of any changes you have made to the code Document your changes Analyze them along with your peers. Keep them informed with reasons.

There is another test type called integration testing. According to this [article] (https://testing.googleblog.com/2015/04/just-say-no-to-more-end-to-end-tests.html) of google, the best suite of test is built whit this three type of test: unit (70%), integration (20%) and functional (10%).

Inform your Customers of any changes you have made to the code. Document your changes.


  • Noun: a change made to the internal structure of software to make it easier to understand and cheaper to modify without changing its observable behavior.
  • Verb: to structure software by applying a series of refactorings without changing its observable behavior.
    Martin Fowler - Refactoring Book.