[erlang-questions] Style wars: junk comments

Steve Davis steven.charles.davis@REDACTED
Fri Sep 14 01:56:40 CEST 2012


Yes, to me that stuff seems to be obvious and distracting BS. 

e.g. anything "internal" isn't exported by definition, right?

There *is* an issue between making a distinction between -export for API 
use and -export needed for use only within the app or library.

Anything else is not a weakness of erlang syntax IMHO. 

/s

On Wednesday, September 12, 2012 2:56:31 AM UTC-5, Richard O'Keefe wrote:
>
> I was looking at some Erlang code today, 
> and it had comments like 
>
>         % Include files 
>         % External exports 
>         % Internal exports 
>         % Macros 
>         % Records 
>         % External functions 
>         % Internal functions 
>
> only bulked up, and present even when the sections were empty. 
>
> I take the definition of a "junk comment" to be 
> "a comment that repeats something immediately obvious 
>  from the adjacent code". 
>
> I can tell 
>   an include because it starts with -include 
>   an export  because it starts with -export 
>   a macro    because it starts with -defined 
>   a record   because it starts with -record 
>   a function because it does not start with - 
> so most of these are technically junk comments. 
>
> In fact they remind most unpleasantly of COBOL (IDENTIFICATION 
> DIVISION, DATA DIVISION, PROCEDURE DIVISION) and Classic Pascal's 
> rigid (label; const; type; var; procedure; begin) ordering. 
>
> In fact this ordering strikes me as pernicious in a very very 
> similar way.  Suppose for example I have a sliding window module 
> in which there is 
>
>   %------------------------ 
>   % Purging 
>   %------------------------ 
>
>   purge(Window) -> ... 
>
> and this function uses a number of helper functions and macros 
> that are not used in other parts of the file.  I want to put 
> them *here*, close by the function(s) needing them, not to rip 
> them away from their context just because some boilerplate comment 
> says so. 
>
> In fact I had been thinking about proposing a conventional use 
> of an attribute: 
>
>   -section(creating). 
>   -section(adding). 
>   -section(purging). 
>   -section(testing). 
>   -section(formatting). 
>
> This is something that is already allowed by Erlang syntax, so there 
> is no actual language change.  The proposal is to use _this_ attribute 
> for _this_ purpose: *semantic* sectioning. 
>
> Yes, the debt to the Smalltalk 4-pane browser and its "method 
> categories" *is* pretty obvious, isn't it? 
>
> The function of the -section attribute is to provide something a 
> text editor can set automatic bookmarks from or at least let you 
> search for, that _cannot_ be trivially determined from the source 
> code. 
>
> Have I missed an important benefit of the rigid syntactic ordering? 
>
> While I'm at it, why don't other people sort their export lists into 
> alphabetic order? 
>
> function and its supporte 
>
> _______________________________________________ 
> erlang-questions mailing list 
> erlang-q...@REDACTED <javascript:> 
> http://erlang.org/mailman/listinfo/erlang-questions 
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20120913/9fdfc242/attachment.htm>


More information about the erlang-questions mailing list