Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

A function is clear or not. I fail to see how the scale of the code, team, dependence is a factor in that.


I split local reasoning into horizontal or vertical.

Vertical reasoning is reasoning inside a module or function. Here information hiding and clear interfaces help.

Horizontal reasoning is reasoning across the codebase in a limited context; adding a new parameter to a public function is a good example. The compiler helps you find and fix all the use sites, and with good ability to reason vertically at each site, even a change like this is simple.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: