feat: ✨ principle about software as asset, code as liability#266
feat: ✨ principle about software as asset, code as liability#266lwjohnst86 wants to merge 1 commit into
Conversation
| What this means is, we want to produce as little code as possible to effectively | ||
| produce workable software. By viewing and treating code for what it is, as a | ||
| liability, we can be more mindful of the code that we do write. We can consider | ||
| questions like: Is this enough to code to produce the software? Can we design | ||
| the software in a way that requires less code? Is a particular feature or change | ||
| really necessary while still maintaining the software's value? |
There was a problem hiding this comment.
I agree with this in general, but I think it would be important to also emphasize that we care about our ability to understand the code. So we want to write as little code as possible while preserving function and comprehension. Otherwise I think it can come across that we sacrifice readability for less code (which is often the case in the wild). Maybe something like this:
| What this means is, we want to produce as little code as possible to effectively | |
| produce workable software. By viewing and treating code for what it is, as a | |
| liability, we can be more mindful of the code that we do write. We can consider | |
| questions like: Is this enough to code to produce the software? Can we design | |
| the software in a way that requires less code? Is a particular feature or change | |
| really necessary while still maintaining the software's value? | |
| What this means is, we want to write as little code as possible while still preserving software functionality and code readability. | |
| By viewing and treating code as a | |
| liability, we can be more mindful of the code that we do write. We can consider | |
| questions like: Is this enough to code to produce the software? Can we design | |
| the software in a way that requires less code without sacrificing readability? | |
| Is a particular feature or change really necessary? |
signekb
left a comment
There was a problem hiding this comment.
Nice points 👌 Some suggestions:
| Software is the set of actions that produce a given output from a set of inputs. | ||
| This is an asset, as it is something that provides value, to us and to | ||
| (potentially) others. Assets are things that we want to create and we want more | ||
| of. |
There was a problem hiding this comment.
| Software is the set of actions that produce a given output from a set of inputs. | |
| This is an asset, as it is something that provides value, to us and to | |
| (potentially) others. Assets are things that we want to create and we want more | |
| of. | |
| Software is the set of actions that produce a given output from a set of inputs. | |
| This is an asset, as it is something that provides value, to us and | |
| our users. Therefore, software is something we want to create and create more of. |
Maybe? Just so the last sentence feels more conclusive and directly related to the header.
| Computer code is the set of instructions that implements that set of actions in | ||
| the software. We need code in order to produce the software asset. But, code |
There was a problem hiding this comment.
| Computer code is the set of instructions that implements that set of actions in | |
| the software. We need code in order to produce the software asset. But, code | |
| Computer code is the set of instructions that implements the set of actions that constitutes | |
| the software. We need code in order to produce the software asset. But, code |
|
|
||
| Computer code is the set of instructions that implements that set of actions in | ||
| the software. We need code in order to produce the software asset. But, code | ||
| also means bugs, it means maintenance, and it can be a source of security |
There was a problem hiding this comment.
| also means bugs, it means maintenance, and it can be a source of security | |
| also means potential bugs, it means maintenance, and it can be a source of security |
| the software. We need code in order to produce the software asset. But, code | ||
| also means bugs, it means maintenance, and it can be a source of security | ||
| vulnerabilities. More of those things means extra, non-value creating work. We | ||
| want less of that. The code itself is a liability. |
There was a problem hiding this comment.
| want less of that. The code itself is a liability. | |
| want less of that. Therefore, code itself is a liability. |
| vulnerabilities. More of those things means extra, non-value creating work. We | ||
| want less of that. The code itself is a liability. | ||
|
|
||
| What this means is, we want to produce as little code as possible to effectively |
There was a problem hiding this comment.
| What this means is, we want to produce as little code as possible to effectively | |
| As a result, we want to produce as little code as possible to effectively |
| What this means is, we want to produce as little code as possible to effectively | ||
| produce workable software. By viewing and treating code for what it is, as a | ||
| liability, we can be more mindful of the code that we do write. We can consider | ||
| questions like: Is this enough to code to produce the software? Can we design |
There was a problem hiding this comment.
| questions like: Is this enough to code to produce the software? Can we design | |
| questions like: Is this enough code to produce the software? Can we design |
| liability, we can be more mindful of the code that we do write. We can consider | ||
| questions like: Is this enough to code to produce the software? Can we design | ||
| the software in a way that requires less code? Is a particular feature or change | ||
| really necessary while still maintaining the software's value? |
There was a problem hiding this comment.
One thing about this is that it can sound like we would always prefer less lines of code, which I'm pretty sure is not the intention. So, maybe add that here; that we value code that is explicit and simple (less complex as John Ousterhout would say) over shorter code.
Description
I've been meaning to add this to the design for a while.
This PR needs an in-depth review.