Week 13 - The Cathedral and the Bazaar
The Cathedral and the Bazaar
My favorite quote that I initially voted for I think was that “Good programmers know what to write. Great ones know what to rewrite (and reuse).” I think the class discussion aligned with the reasons that I had in this being my favorite quote. Most of my time programming is creating the minimally viable product in which it works but it is missing my feature. Then it is a matter of refactoring and rewriting all my code. I often find myself refactoring code so that it could be reused in other aspects. I think the main reason why refactoring is central in good development is that nobody can think of all the test cases in the first version they produce. This is because often times when the problem is complex enough, you only really think about certain design choices after the first version is done. I still remember during Professor Klukowska’s data structure class where she stated that if a program works the first time, she is more concerned than if it were to break. This The quote that I overlooked initially was “perfection (in design) is achieved not when there is nothing more to add, but rather when there is nothing more to take away.” I think that after the class discussions, this quote spoke to me much more. Concise and easy to understand code as well as efficient code is the best code to work with. In my open source project, the Perl backend is so extensive and long that some files are around 8000 lines, where if it was written in another language or refactored it would be significantly less. I have had great difficulties in working in this nonperfect code base in understanding the code. I also need to take into account in reducing unnecessary code in my own development.
Group Progress
My group progress has been good, but we have been running into issues in getting our pull requests accepted. It does seem like they want stylistic changes that matches with certain aspects. The maintainers are also particularly picky with how certain mechanisms in the code should work. This past week we have met up again and have been trying to get our pull requests merged. As a group we need to overcome the workflow, although the meetings we have outside of class have been helping in addressing this. We need to resolve these pull requests faster, however the bottleneck comes with the maintainers review of our code. Personally I need to work on understanding the complexities of perl better and in the speed at which I find resolutions to issues within the work. The perl backend is extremely long and tedious to go through to really understand where changes need to be made. I can improve upon this by having better communcation with the project maintainers