3 ms·
Out of curiosity, what is the largest project you've worked on, k__ (as in, number of lines)?
by Kenji 10y ago
Out of curiosity, what is the largest project you've worked on, k__ (as in, number of lines)?
- k__ 10y agoThe largest project I worked on was Firefox. But I think my statement is idependent from project size. I've seen it in big and small projects alike. As long as you get this fundamental thing right, you can get away with more than you think.
- DonHopkins 10y agoSpeaking of Firefox, encapsulation and modularization have a cost, and can be taken way too far. Did you know that "decomification" [1] is considered by the Mozilla project to be a "good thing"? And it doesn't mean fighting communism. But like anything (just like COM), decomification can also be taken too far, and can lead to decomificationphobia [2]: "Also in this way every class could be deComed leaving no risk of overdeComification. But since I don’t quite know the justification or use case for xpcom in mozilla, I find this decomification quite scary." This fashionable de-over-modularization technique is also fondly known as "deCOMtamination" [2]: "In Gecko, XPCOM or a primordial form of it was overused inside Gecko, where there are (or should be) no DLL boundaries, for private APIs that are not usable by other, independently evolving code. The overhead here in code space and runtime is significant (we will quantify it as we go), and deCOMtamination consists of getting rid of this bogus COM-like glue." Mozilla has even developed automated deCOMtamination tools [3]: "This is an update on the ongoing deCOMtamination work from the automated rewriting perspective. I think it’s pretty exciting that Mozilla is the first large-scale C++ project to attempt automated large scale source code cleanups and optimizations. I think the tools are finally getting mature enough for the job." "The downside is that there isn’t a published roadmap of what we are planning to achieve with deCOMtamination as we are still in the planning stages. The upside is that there is still time for any interested parties to think up the next great improvement on how things are done, checkout the refactoring toolchain and either extend an existing tool or implement a new one." [1] https://www.google.com/search?q=decomification&oq=decomification&aqs=chrome..69i57.2006j0j7&sourceid=chrome&ie=UTF-8#q=%22decomification%22 https://www.google.com/search?q=decomification&oq=decomifica... [2] https://blog.mozilla.org/tglek/2007/01/03/squashed-and-compiled/ https://blog.mozilla.org/tglek/2007/01/03/squashed-and-compi... [3] https://blog.mozilla.org/tglek/category/decomtamination/ https://blog.mozilla.org/tglek/category/decomtamination/