Hi,

Twitter's Effective Scala contains very well-known and accepted conventions
for Scala:

http://twitter.github.io/effectivescala/

Cheers,

Bruno

On Thu, 26 Jan 2017 at 14:16 Till Rohrmann <trohrm...@apache.org> wrote:

> Agreed. I think it's a good idea to annotate the code with as much
> information as possible to help other people to understand it. I think it's
> a good idea to include this information in the coding guidelines. But I'm
> not sure whether we have a dedicated Scala coding guideline.
>
> Cheers,
> Till
>
> On Thu, Jan 26, 2017 at 10:27 AM, Jinkui Shi <shijinkui...@163.com> wrote:
>
> > hi, all
> >
> > Scala can infer the actual type if we didn’t declare its type. There also
> > nothing different in the byte code of java class format.
> > It’s convenient for write the code, but hard to read. Maybe it’s time to
> > face such bad smell code.
> > Scala check style plugin also have such rule. We can add this to the code
> > guidelines.
> >
> > So I have a proposal: Declare all the class field with its type as far as
> > possible in Scala code. The variate in the function can be ignore if
> > necessary.
> >
> > What do you think about this?
> >
> > The test below to show that declare type and type inference are the same
> > after compiling.
> >
> > Thanks
> > Jinkui Shi
> >
> > ------------------------------------------------------------
> > --------------------------------------
> >
> > object DeclareTypeTest {
> >
> >   def main(args: Array[String]): Unit = {
> >     //  1
> >     declareTypeFunction
> >     //  2
> >     undeclareTypeFunction
> >   }
> >
> >   def declareTypeFunction: Int = {
> >     1
> >   }
> >
> >   def undeclareTypeFunction: Int = {
> >     1
> >   }
> > }
> >
> >
> > java -c DeclareTypeTest$.class :
> >
> >   public void main(java.lang.String[]);
> >     Code:
> >        0: aload_0
> >        1: invokevirtual #18                 // Method
> > declareTypeFunction:()I
> >        4: pop
> >        5: aload_0
> >        6: invokevirtual #21                 // Method
> > undeclareTypeFunction:()I
> >        9: pop
> >       10: return
> >
> >   public int declareTypeFunction();
> >     Code:
> >        0: iconst_1
> >        1: ireturn
> >
> >   public int undeclareTypeFunction();
> >     Code:
> >        0: iconst_1
> >        1: ireturn
> >
> >
> >
>

Reply via email to