Last active
February 24, 2021 14:08
-
-
Save jonathankwok/828026b03f283726174f83b15fd80491 to your computer and use it in GitHub Desktop.
sandi's recommended references
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(I've amended it to use Amazon.ca) | |
Things to Read: | |
Refactoring | |
Martin Fowler: Refactoring, Improving the Design of Existing Code | |
https://www.amazon.ca/Refactoring-Improving-Existing-Addison-Wesley-Technology-ebook/dp/B007WTFWJ6 | |
Jay Fields: Refactoring, Ruby Edition | |
https://www.amazon.ca/Refactoring-Ruby-Addison-Wesley-Professional-ebook/dp/B002TIOYWG/ | |
Joshua Kerievsky: Refactoring to Patterns | |
https://www.amazon.ca/Refactoring-Patterns-Addison-Wesley-Signature-Fowler-ebook/dp/B001TKD4RQ | |
Testing | |
Michael Feathers: Working Effectively With Legacy Code | |
https://www.amazon.ca/Working-Effectively-Legacy-Michael-Feathers/dp/0131177052/ | |
Patterns | |
Gamma, Helm, Johnsom, Vlissides (Gang of Four): Design Patterns, | |
Elements of Reusable Object-Oriented Software | |
http://www.amazon.ca/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612 | |
Browse the entire book | |
Eric Freeman, Bates, Sierra: Head First Design Patterns | |
http://www.amazon.ca/Head-First-Design-Patterns-Freeman/dp/0596007124 | |
(But only if you can stand the 'Head First' style) | |
Thinking about objects: | |
Sandi Metz: Practical Object-Oriented Design | |
http://www.amazon.ca/Practical-Object-Oriented-Design-Ruby-Addison-Wesley/dp/0321721330 | |
Rebecca Wirfs-Brock, Wilkerson, Wiener: Designing Object-Oriented Software | |
http://www.amazon.ca/Designing-Object-Oriented-Software-Rebecca-Wirfs-Brock/dp/0136298257 | |
http://www.wirfs-brock.com/PDFs/Characterizing%20Classes.pdf | |
Matt Weisfeld, The Object-Oriented Thought Process | |
http://www.amazon.ca/Object-Oriented-Thought-Process-Developers-Library/dp/0321861272 | |
Freeman and Pryce: Growing Object-Oriented Software, Guided by Tests (GOOS) | |
http://www.amazon.ca/Growing-Object-Oriented-Software-Guided-Tests/dp/0321503627 | |
Eric Evans: Domain Driven Design | |
http://www.amazon.ca/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215 | |
Domain Driven Design Quickly (pdf) | |
http://www.infoq.com/minibooks/domain-driven-design-quickly | |
Vaughn Vernon: Implementing Domain Driven Design | |
http://www.amazon.ca/Implementing-Domain-Driven-Design-Vaughn-Vernon/dp/0321834577 | |
David West: Object Thinking | |
https://www.amazon.ca/Object-Thinking-Developer-Reference-David/dp/0735619654 | |
Things to Watch: | |
Design | |
http://bit.ly/sandi_metz_solid | |
http://bit.ly/sandi_metz_less_path_to_better_design | |
http://bit.ly/sandi_metz_make_a_mess | |
http://bit.ly/sandi_metz_nothing_is_something | |
http://bit.ly/gary_bernhardt_boundaries | |
http://bit.ly/peter_harkins_what_comes_after_mvc | |
Refactoring | |
http://bit.ly/neal_ford_rampant_emergence | |
http://bit.ly/katrina_owen_therapeutic_refactoring | |
http://bit.ly/ben_orenstein_refactoring | |
Testing | |
http://bit.ly/sandi_metz_magic_tricks_of_testing | |
http://bit.ly/gregory_moeck_why_you_dont_get_mocks | |
http://bit.ly/justin_searls_budgeting_reality | |
http://bit.ly/justin_searls_to_mock_or_not | |
http://bit.ly/michael_feathers_testing_revisted | |
http://bit.ly/freeman_pryce_mock_roles_talk | |
Pointy Headed | |
http://bit.ly/rich_hickey_simple_made_easy | |
https://codon.com/a-lever-for-the-mind | |
Most Fun Ever | |
Guy Steele: Growing A Language | |
https://www.youtube.com/watch?v=_ahvzDzKdB0 | |
Curated List of Talks (includes some of the above) | |
http://bit.ly/jack_hsu_software_development_talks_list | |
Blog posts: | |
General: | |
http://www.sandimetz.com/blog/ | |
http://blog.codeclimate.com/blog/2012/10/17/7-ways-to-decompose-fat-activerecord-models/ | |
http://blog.codeclimate.com/blog/2012/11/14/why-ruby-class-methods-resist-refactoring/ | |
Dependency Inversion: | |
http://abernardes.github.io/2014/11/04/inverting-dependencies.html | |
Transformation Priority Premise | |
http://blog.8thlight.com/uncle-bob/2013/05/27/TheTransformationPriorityPremise.html | |
Static Typing | |
http://blog.cleancoder.com/uncle-bob/2017/01/13/TypesAndTests.html |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment