Recent EvalScript() changes mean CHECKLOCKTIMEVERIFY can't be merged



Summary:

Jeff Garzik, a Bitcoin core developer, and open-source evangelist suggested that before moving towards the refactoring of data structures in Bitcoin Core, it is important to break up the code into logical source code files. He compared this process with the Linux kernel where breaking up code into smaller files was the first step to make everything more organized and easy to review. He believes that performing the dumb Break Up Files step first means that future, more invasive data structures are easier to review, logically segregated, and not obscured by further code movement changes down the line. The current stream of refactoring is really a turn-off in terms of reviewing, sapping reviewer bandwidth by being reviewer-unfriendly. The commit tag "MOVEONLY" developed organically out of this process, which means that code has been copied 1:1 to a new location. A grep of the 0.10 branch for "MOVEONLY" is a testament to exactly how much code moved 1:1 out of huge files and into logically separated places and/or new files. Jeff suggests using an official dev guideline called "MOVEONLY" for use in future refactors.


Updated on: 2023-06-09T14:51:40.370986+00:00