[Info-vax] Listeners in VMS Basic, was: Re: Integrity iLO Configuration?

Dave Froble davef at tsoft-inc.com
Fri Jul 9 21:06:07 EDT 2021


On 7/9/2021 8:20 PM, Arne Vajhøj wrote:
> On 7/9/2021 7:45 PM, Dave Froble wrote:
>> On 7/9/2021 2:28 PM, Arne Vajhøj wrote:
>>> On 7/1/2021 6:29 PM, Craig A. Berry wrote:
>>>> On 7/1/21 3:24 PM, Dave Froble wrote:
>>>>> To be such, there is no such thing as too many comments.
>>>>
>>>> Too many comments is just as bad a code smell as too few. Comments can
>>>> easily get out of date and people make mistakes by reading and
>>>> believing
>>>> comments that no longer reflect what actually happens.  Comments should
>>>> provide some brief indication of what and why without getting too far
>>>> into the how.
>>>
>>> Yes.
>>>
>>> And other agree:
>>>
>>> https://stackoverflow.blog/2021/07/05/best-practices-for-writing-code-comments/
>>
>>
>> Just because some agree, doesn't make them right.
>>
>> But, Ok, a practical example, tell me, too many comments, not enough
>> comments, what?
>>
>> ;+
>> ;       Base block must be > 0
>> ;       # of blocks must be > 0 & < 128
>> ;       End block must be <= EOF block
>> ;       Grant lock if caller has exclusive access to the file
>> ;-
>>
>>          MOVZWL  #SS$_ABORT,R0           ; Assume failure
>>          TSTL    R3                      ; Base block zero?
>>          BNEQU   020$                    ; No, continue
>> 010$:   BRW     RETURN                  ; Yes, return
>> 020$:   TSTL    R4                      ; Block count zero?
>>          BEQLU   010$                    ; Yes, return
>>          CMPL    #127,R4                 ; Block count <= 127
>>          BLSSU   010$                    ; No, return
>>          MOVAB   -1(R3)[R4],R5           ; Last block to lock
>>          CMPL    CIB_L_FILSIZ(R7),R5     ; LE filesize?
>>          BGEQU   030$                    ; Yes, continue
>>          MOVL    CIB_L_FILSIZ(R7),R5     ; Else lock only to EOF
>
> A comment for each line may be appropriate here.

May be?  How about absolutely critical?

> Macro-32 code has a bigger need for comments than a HLL.

Yeah, that's why I used this example.

> The comment on:
>
> TSTL    R3                      ; Base block zero?
>
> makes sense because it is not self documentary what R3 contains.
>
> But if that had been in a HLL, let me show in Pascal:
>
> if baseblock = 0 then
>
> then I do not think a comment would provide additional value:
>
> if baseblock = 0 then (* Base block zero? *)
>
> Arne
>
>
>

You assume the variable name would be "baseblock".

Haven't I warned about ASS U ME ??

Actually, I think perhaps the most important comment is "assume 
failure", otherwise I could see someone wondering just why SS$_ABORT was 
being moved to R0.

You can argue this all you want.  When code must be maintained by 
multiple people, who don't all think alike, documentation is essential. 
I've already fired people who would not follow expected "standards".

-- 
David Froble                       Tel: 724-529-0450
Dave Froble Enterprises, Inc.      E-Mail: davef at tsoft-inc.com
DFE Ultralights, Inc.
170 Grimplin Road
Vanderbilt, PA  15486



More information about the Info-vax mailing list