[erlang-patches] Add support for dependencies Makefile

Håkan Mattsson <>
Tue Dec 15 09:57:17 CET 2009

The coding style that Björn describes below applies for the compiler
application. Other OTP applications may have other styles. Try to
always follow the existing coding style in the module that you change.
Ask the application responsible if you are hesitant.

Several of the coding style issues that Björn brought up are common for
all applications in OTP. But when it comes to the use of import from other
modules and spaces around '=' and ','  there is no commonly adopted
style in OTP.

Håkan Mattsson (uabhams)
Erlang/OTP, Ericsson AB

2009/12/15 Björn Gustavsson <>:

> The code style needs some work before we can consider including it in
> Erlang/OTP. Here are the major things I saw when glancing at your
> code:
> We always write two percent characters ("%%"), not only one ("%") for
> comment lines not preceded by code.
> We don't use spaces in around '=' in function heads. We prefer :
>   makedep(#compile{code=Code,options=Opts}=St)
> In the compiler application, we import functions from the lists
> module; we don't write lists:member(...).
> In the compiler application, we don't have spaces after commas in
> terms (but we do put spaces after commas in function calls).
> In the same function, please use either proplists:get_value/2 or
> member/2 consistently. (I recommend proplists:get_value/2.)
> We write variables without underscores: LineLen, not Line_Len.
> Don't use throw from inside a try block in makedep_output/1. As far as
> I can see, the only function call that you will need to catch is the
> one to io:fwrite/2, so just put that function call in a try block.
> Don't use library calls like this
>            File1 = case lists:prefix("./", File) of
>                true  -> lists:nthtail(2, File);
>                false -> File
>            end,
> when matching will do
>            File1 = case File of
>                "./"++File2 -> File2
>                _ -> File
>            end,
> (NOT TESTED, but it should work)
> --
> Björn Gustavsson, Erlang/OTP, Ericsson AB

More information about the erlang-patches mailing list