What’s the meat of one project’s source code
Reading the source code is very like to read the proof of one math paper. The whole point is not about how beautiful the its format expresses, or how elegant the alignment of the text is. The flesh is the logic framework built by the text environment.
As a math researcher, it’s a shame that I made so many newbie errors, hold so many incorrect perspectives to treat the source code. I spent too much energy on the invalue text formatting. Just like the period of math research, which paid too much attention on hallucination of weird theorem name or definition. But the key point of math is never realted to how odd the name of a definition or a theorem is. The kernel point is the construction that built by the math proof.
When I was a math undergraduate student, I was always attracted by the odd name of math definition/theorem. Thus, in the process of pursuing math, I just dropped too many chances to dig into the proof details, and wasted too much time on just know the strange name as many as possible. From my current viewpoint, this is a very bad choice. I should spend more time on the math proof virture world.
Now again, when I tried to dedicate to programming, I spend too much time on the stupid so called official, cool project. I am again attracted by the superficial name instead of the code logic world. When I scrutinize a new project, I only pay attention on: what the build tool it used, how many popular strange programming terms it used, how beautiful its documents it showed, and how many fasion UI it displayed. But I never, never spend any energy on researching the code logic itself. Why? First, it’s really hard to know the details, second, I hold the wrong priority of one project.
For a project, its meat is the functionality it provides, i.e. the logic execution it built. If we want to solve the real world problem, we can drop the docs, the brand, the fasion official website, but never the business module! When we say how good a tool is, we’re implying that how good the service the tool provides to solve the problem. So the most important part of a project is the solution that how it solves problem. But how can we know the process of its solution? The only way is to read the source code to know its execution process step by step.
Thus, like the math proof reading, all we do is trying to figure out the concrete steps that one solution provided. In order to know the magic, we must pay efforts to analyze every part, every step of the whole execution. There’s definitely no shortcut to master the meat of one existing solution.
We need to correct our attitude to treat the project. It’s not important how docs the project is, how fasion its UI is, but only what steps the project provides, and how it integrates them to produce a perfecct solution. That’s where we should pay attention.
