I build things with my hands. The human behind Shift - https://laravelshift.com, master of Git - https://gettinggit.com, and author of "BaseCode" - https://basecodefieldguide.com
I don't consider "doc blocks" to be comments. So I wouldn't consider those "excessive".
As far as the inline comment regarding the optimization, these are definitely the gray area where a comment does relay non-obvious implementation details. This could potentially be mitigated with a name such as optimizedBuffer or by pushing the buffer optimizations lower to a createFastBuffer.
I didn't mean the JSDoc as part of the question, it was just a literal copy paste to show what fwd does.
I don't see how it could be extracted ergonomically, since the invariant is that this.fwd(length) returning as the return value and this.pointer the two arguments to copy runs before allocate
In most cases inlining them is perfectly acceptable. These are the cases around buffer:
I don't consider "doc blocks" to be comments. So I wouldn't consider those "excessive".
As far as the inline comment regarding the optimization, these are definitely the gray area where a comment does relay non-obvious implementation details. This could potentially be mitigated with a name such as
optimizedBuffer
or by pushing the buffer optimizations lower to acreateFastBuffer
.I didn't mean the JSDoc as part of the question, it was just a literal copy paste to show what
fwd
does.I don't see how it could be extracted ergonomically, since the invariant is that
this.fwd(length)
returning as the return value andthis.pointer
the two arguments tocopy
runs beforeallocate
In most cases inlining them is perfectly acceptable. These are the cases around
buffer
:But yeah, hopefully this class will be single-responsibility enough that no one will come edit it at all. And the comment is definitely staying.
One more good thing about deleting comments is that the few that do remain are seen as that much more important.