-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
297c25e
commit 9822fdb
Showing
1 changed file
with
26 additions
and
0 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
--- | ||
layout: post | ||
title: Week 13 - The Cathedral and the Bazaar | ||
--- | ||
|
||
"The Cathedral and the Bazaar" not only reshaped how we think about software development, but also laid down some lessons that every developer should consider. | ||
|
||
#### Scratch Your Own Itch | ||
|
||
"Every good work of software starts by scratching a developer's personal itch." This was my favorite lesson, and a powerful motivator in the world of open source. It suggests that the best projects come from developers addressing their own problems and being intrinsically motivated to create solutions that they need for themselves. This resonated with me the most because I've found that without passionate and dedicated project involvement, it's difficult to sustain long-term commitment and drive innovation. | ||
|
||
#### The Wisdom of Reuse | ||
|
||
A very popular lesson among the class was "Good programmers know what to write. Great ones know what to rewrite (and reuse)." This pushes developers to value the existing code, highlighting the efficiency in recognizing the solid foundations which new solutions can be built upon. This idea of reuse and refinement teaches us to look for opportunities where we can contribute to improvement rather than reinvention. | ||
|
||
#### Simplicity in Design | ||
|
||
Another popular lesson was "Perfection (In design) is achieved not when there is nothing more to add, but rather when there is nothing more to take away." This principle of simplicity and minimalism in design is crucial for creating software that is easy to understand, maintain, and extend. It encourages developers to focus on the core functionality and remove any unnecessary complexity or features. | ||
|
||
#### Reflection | ||
|
||
Reflecting on these lessons definitely influenced my thinking. They promote more than the mere concept of coding. They promote a philosophy of software development that values community, reuse, and simplicity. But even after taking away from more than just my favorite lesson, my favorite lesson still remains the same. | ||
|
||
#### Project Progress | ||
|
||
This past week, my group has been feeling a bit stuck. Although we were able to successfully push our changes and create a pull request, we're now facing some challenges with addressing the code review comments. Even after making changes, we're still not able to pass a few tests collectively. As an individual, I'm especially struggling with improving the quality of the unit tests I wrote, as I don't have a lot of experience in that area. However, I hope that we'll be able to figure it out and make some more progress in the next week. |