In this first lesson, Uncle Bob demonstrates the need to write a clean code and establishes the bases to achieve it, being these bases of a social and scientific nature. Making it clear that the future of programming is based on an ethical and polite code.
In this second lesson, Uncle Bob teaches us the purpose of comments in the code, breaking the paradigm that commenting is something “I have to do” for the simple fact that we mistakenly consider that commenting is a good practice. For Uncle Bob, writing a comment is a sign of failure, since a good code must be able explain by itself: Fewer Comments = Better Code.
In this third lesson, Uncle Bob focuses on raising awareness, given the need to increase the level of criteria in code production. Pointing to the lack of preparation in most programmers, as one of the main reasons for the inefficiency in software development today. Uncle Bob proposes a series of Expectations, through which he hopes to instill in the programmers, the knowledge and desire to prosper towards a way of programming based on ethics and responsibility.
In this fourth lesson, Uncle Bob introduces us to a software development methodology oriented through testing. This is the Test-Driven Development (TDD), a practice with a long learning curve, but with significant results to generate a more robust, safer, more maintainable code and with greater development efficiency. Among other things, Uncle Bob shows us his point of view about the evolution of software to this day and its bright future.
In this fifth lesson, Uncle Bob criticizes the culture of “making a disaster as quickly as possible” to generate economic gains, obtaining in the long term, exactly the opposite effect, due to a generalized lack of awareness, about the importance and purpose of a good Software Architecture. In this chapter, you will learn the fundamentals of software architecture, its rules, the value of discipline in the production of quality code, and the responsibility of disseminating the need to implement these good practices in the community of programmers.
In this sixth lesson, Uncle Bob portrays us through different situations, the problem of adjusting software production time to delivery times. A divergence between the needs of the client and the commercial commitments, and the needs of the programmer to produce quality software. To solve the problem of the temporary gap between production and the deadline, Uncle Bob teaches us the basics of Agile development techniques for the optimal management of software projects.