2,303 books
—
2,338 voters
It’s important to note that when we talk about unit tests as being narrowly scoped, we’re referring to the code that is being validated, not the code that is being executed. It’s quite common for a class to have many dependencies or other
...more
“it’s not the external voice that will break you down. It’s what you tell yourself that matters. The most important conversations you’ll ever have are the ones you’ll have with yourself. You wake up with them, you walk around with them, you go to bed with them, and eventually you act on them. Whether they be good or bad.”
― Can't Hurt Me: Master Your Mind and Defy the Odds
― Can't Hurt Me: Master Your Mind and Defy the Odds
“the ideal test is unchanging: after it’s written, it never needs to change unless the requirements of the system under test change.”
― Software Engineering at Google: Lessons Learned from Programming Over Time
― Software Engineering at Google: Lessons Learned from Programming Over Time
“Fakes Should Be Tested A fake must have its own tests to ensure that it conforms to the API of its corresponding real implementation. A fake without tests might initially provide realistic behavior, but without tests, this behavior can diverge over time as the real implementation evolves.”
― Software Engineering at Google: Lessons Learned from Programming Over Time
― Software Engineering at Google: Lessons Learned from Programming Over Time
“At Google, we often attach “freshness dates” to documentation. Such documents note the last time a document was reviewed, and metadata in the documentation set will send email reminders when the document hasn’t been touched in, for example, three months.”
― Software Engineering at Google: Lessons Learned from Programming Over Time
― Software Engineering at Google: Lessons Learned from Programming Over Time
“When an engineer refactors the internals of a system without modifying its interface, whether for performance, clarity, or any other reason, the system’s tests shouldn’t need to change. The role of tests in this case is to ensure that the refactoring didn’t change the system’s behavior. Tests that need to be changed during a refactoring indicate that either the change is affecting the system’s behavior and isn’t a pure refactoring, or that the tests were not written at an appropriate level of abstraction.”
― Software Engineering at Google: Lessons Learned from Programming Over Time
― Software Engineering at Google: Lessons Learned from Programming Over Time
Mustafa’s 2025 Year in Books
Take a look at Mustafa’s Year in Books, including some fun facts about their reading.
More friends…
Favorite Genres
Polls voted on by Mustafa
Lists liked by Mustafa








































