Este es un plan para aprender ciertas prácticas de codificación.
Basado sobre coding-interview-university
Esto es un plan que dura ciertos meses para aprender a codificar.
- Qué es esto?
- Cómo usarlo?
- General
- Elegir un lenguaje
- Prerequisito
- Object-Oriented Programming
- Design Patterns
- Testing
- Refactoring
- Java
- Javascript
Todo lo que se recomienda a continuación es simplemente un esbozo.
Se puede elegir cualquiera, pero estos son los más usados:
- C++
- Java
- Python
- JavaScript
- Ruby
-
Toda tarea debe ser escrita con tests.
-
Cómo las computadoras funcionan:
-
Git y Github
- UML 2.0 Series (video)
- Object-Oriented Software Engineering: Software Dev Using UML and Java (21 videos):
- SOLID OOP Principles:
- Bob Martin SOLID Principles of Object Oriented and Agile Design (video)
- SOLID Principles (video)
- S - Single Responsibility Principle | Single responsibility to each Object
- O - Open/Closed Principal | On production level Objects are ready for extension but not for modification
- L - Liskov Substitution Principal | Base Class and Derived class follow ‘IS A’ principal
- I - Interface segregation principle | clients should not be forced to implement interfaces they don't use
- D -Dependency Inversion principle | Reduce the dependency In composition of objects.
- Quick UML review (video)
- Chapter 6 (Part 1) - Patterns (video)
- Chapter 6 (Part 2) - Abstraction-Occurrence, General Hierarchy, Player-Role, Singleton, Observer, Delegation (video)
- Chapter 6 (Part 3) - Adapter, Facade, Immutable, Read-Only Interface, Proxy (video)
- Series of videos (27 videos)
- Head First Design Patterns
- I know the canonical book is "Design Patterns: Elements of Reusable Object-Oriented Software", but Head First is great for beginners to OO.
- Handy reference: 101 Design Patterns & Tips for Developers
- TDD by Example by Kent Beck
- Agile Software Testing with James Bach (video)
- Open Lecture by James Bach on Software Testing (video)
- Steve Freeman - Test-Driven Development (that’s not what we meant) (video)
- TDD is dead. Long live testing.
- Is TDD dead? (video)
- Video series (152 videos) - not all are needed (video)
- Test-Driven Web Development with Python
- Dependency injection:
- How to write tests
- Refactoring
- Code refactoring por Derek Banas
- Code smells 1 por Codemanship
- Code smells 2 por Codemanship
- Code smells 3 por Codemanship
-
Algorithms (Sedgewick and Wayne)
- videos del libro:
-
Data Structures and Algorithms in Java
- por Goodrich, Tamassia, Goldwasser