每個良好程序員應當知曉的技能學習路徑
Getting Started
- The Pomodoro Technique
- Manifesto for Agile Software Development
- Principles behind the Agile Manifesto
- Manifesto for Software Craftsmanship
Week 1: SOLID and Clean Code
- SOLID principles
- Start theRacing Car Katas
- find SOLID violations
- Clean Code
- Chapter 1: Clean Code
- Chapter 2: Meaningful Names
- Chapter 3: Functions
- Chapter 6: Objects and Data Structures
- Chapter 7: Error Handling
- Chapter 10: Classes
- The Pragmatic Programmer
- Chapter 2: A Pragmatic Approach
- Chapter 5: Bend or Break
- Chapter 6: While You Are Coding
Week 2: Introduction to TDD
- TDD by example : The Money Example
- Clean Code
- Chapter 9: Unit Tests
Week 3: Working with Legacy Code
- Working Effectively with Legacy Code
- Chapter 8: How Do I Add a Feature ?
- Start theGildedRoseKata
- Code Coverage
- Add the new feature
- No refactoring!
- Working Effectively with Legacy Tests
Week 4: Refactoring
- Martin Fowler @ OOP2014 "Workflows of Refactoring"
- Refactoring: Improving the design of existing code
- Chapter 1: Refactoring, a First Example
- Chapter 2: Principles in Refactoring
- Chapter 3: Bad Smells in Code
- Testing and Refactoring Legacy Code
- Takes the code of the week 2 and try to do refactoring (find code smells)
- Try the TennisRefactoringKata (find code smells)
Week 5: TDD and "Friends"
- How to Write Clean, Testable Code
- Good Design is Easily-Learned
- Try to learn and repeat these Katas autonomously
- Unit Testing
- Growing Object Oriented Software, Guided by Tests
- Chapter 1: What Is the Point of Test-Driven Development?
- Chapter 2: Test-Driven Development with Objects
- Chapter 4: Kick-Starting the Test-Driven Cycle
- Chapter 5: Maintaining the Test-Driven Cycle
- Chapter 6: Object-Oriented Style
- Chapter 7: Achieving Object-Oriented Design
- Chapter 8: Building on Third-Party Code
- Clean Code
- Chapter 8: Boundaries
- Mocks Aren't Stubs
- Try the StringCalculatorKata
- With interactions
Week 6: Hands On Erlang
You are free to replace Erlang with whatever programming language you wants to dive in
- Erlang resources
- Programming Erlang (2nd Edition)
- Other useful resources about Erlang: Spawned Shelter!
- Try these Katas in Erlang:
Week 7: Deploy your application
- Read The Twelve-Factor App before you start
- Write an
example application
- Publish the code on a
GitHub
repository - Organize your work in User Stories (e.g. Trello)
- Setup a development environment (e.g. Vagrant/Ansible)
- Setup a CI environment (e.g. Travis)
- Deploy your application (e.g. Heroku)
- Test the deployed application
- Continous Delivery
- Describe your Continuous Delivery process (Can it be improved ? How ?)
Week 8: Refinements and IDD
- TDD by example
- Patterns for Test-Driven Development
- Clean Code
- Chapter 12: Emergence
- Crafted Design:
<li> <a href="/misc/goto?guid=4958986437352874055" rel="nofollow,noindex" target="_blank">https://vimeo.com/128596005</a> </li> <li> <a href="/misc/goto?guid=4958986437476099031" rel="nofollow,noindex" target="_blank">Notes</a> </li>
</ul> </li>
- Hexagonal architecture
- Looking at the
example application
of the week 7:- What are your considerations ?
<li> Can you apply <code>IDD</code> ? If yes propose the changes. </li>
</ul> </li>
- Further topics
<li> <a href="/misc/goto?guid=4958986437763736431" rel="nofollow,noindex" target="_blank">Bryan Hunter - CQRS with Erlang</a> </li>
</ul> </li>
- Try the Social Networking Kata
</ul> </li>
</ul> </article>
來自: https://github.com/joebew42/study-path
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!
</ul> </li>