+1 to the proposal.

On Mon, Feb 10, 2014 at 2:56 PM, Michael Armbrust
<mich...@databricks.com> wrote:
> +1 to Shivaram's proposal.  I think we should try to avoid functions with
> many args as much as possible so having a high vertical cost here isn't the
> worst thing.  I also like the visual consistency.
>
> FWIW, (based on a cursory inspection) in the scala compiler they don't seem
> to ever orphan the return type from the closing parenthese.  It seems there
> are two main accepted styles:
>
>     def mkSlowPathDef(clazz: Symbol, lzyVal: Symbol, cond: Tree, syncBody:
> List[Tree],
>                       stats: List[Tree], retVal: Tree): Tree = {
>
> and
>
>     def tryToSetIfExists(
>       cmd: String,
>       args: List[String],
>       setter: (Setting) => (List[String] => Option[List[String]])
>     ): Option[List[String]] =
>
>
> On Mon, Feb 10, 2014 at 2:36 PM, Shivaram Venkataraman <
> shiva...@eecs.berkeley.edu> wrote:
>
>> Yeah that was my proposal - Essentially we can just have two styles:
>> The entire function + parameterList + return type fits in one line or
>> when it doesn't we wrap parameters into lines.
>> I agree that it makes the code a more verbose, but it'll make code
>> style more consistent.
>>
>> Shivaram
>>
>> On Mon, Feb 10, 2014 at 2:13 PM, Aaron Davidson <ilike...@gmail.com>
>> wrote:
>> > Shivaram, is your recommendation to wrap the parameter list even if it
>> fits,
>> > but just the return type doesn't? Personally, I think the cost of moving
>> > from a single-line parameter list to an n-ine list is pretty high, as it
>> > takes up a lot more space. I am even in favor of allowing a parameter
>> list
>> > to overflow into a second line (but not a third) instead of spreading
>> them
>> > out, if it's a private helper method (where the parameters are probably
>> not
>> > as important as the implementation, unlike a public API).
>> >
>> >
>> > On Mon, Feb 10, 2014 at 1:42 PM, Shivaram Venkataraman
>> > <shiva...@eecs.berkeley.edu> wrote:
>> >>
>> >> For the 1st case wouldn't it be better to just wrap the parameters to
>> >> the next line as we do in other cases ? For example
>> >>
>> >> def longMethodName(
>> >>     param1,
>> >>     param2, ...) : Long = {
>> >> }
>> >>
>> >> Are there a lot functions which use the old format ? Can we just stick
>> >> to the above for new functions ?
>> >>
>> >> Thanks
>> >> Shivaram
>> >>
>> >> On Mon, Feb 10, 2014 at 11:33 AM, Reynold Xin <r...@databricks.com>
>> wrote:
>> >> > +1 on both
>> >> >
>> >> >
>> >> > On Mon, Feb 10, 2014 at 1:34 AM, Aaron Davidson <ilike...@gmail.com>
>> >> > wrote:
>> >> >
>> >> >> There are a few bits of the Scala style that are underspecified by
>> >> >> both the Scala
>> >> >> style guide <http://docs.scala-lang.org/style/> and our own
>> >> >> supplemental
>> >> >> notes<
>> >> >>
>> >> >>
>> https://cwiki.apache.org/confluence/display/SPARK/Spark+Code+Style+Guide>.
>> >> >> Often, this leads to inconsistent formatting within the codebase, so
>> >> >> I'd
>> >> >> like to propose some general guidelines which we can add to the wiki
>> >> >> and
>> >> >> use in the future:
>> >> >>
>> >> >> 1) Line-wrapped method return type is indented with two spaces:
>> >> >> def longMethodName(... long param list ...)
>> >> >>   : Long = {
>> >> >>   2
>> >> >> }
>> >> >>
>> >> >> *Justification: *I think this is the most commonly used style in
>> Spark
>> >> >> today. It's also similar to the "extends" style used in classes, with
>> >> >> the
>> >> >> same justification: it is visually distinguished from the 4-indented
>> >> >> parameter list.
>> >> >>
>> >> >> 2) URLs and code examples in comments should not be line-wrapped.
>> >> >> Here<
>> >> >>
>> >> >>
>> https://github.com/apache/incubator-spark/pull/557/files#diff-c338f10f3567d4c1d7fec4bf9e2677e1L29
>> >> >> >is
>> >> >> an example of the latter.
>> >> >>
>> >> >> *Justification*: Line-wrapping can cause confusion when trying to
>> >> >> copy-paste a URL or command. Can additionally cause IDE issues or,
>> >> >> avoidably, Javadoc issues.
>> >> >>
>> >> >> Any thoughts on these, or additional style issues not explicitly
>> >> >> covered in
>> >> >> either the Scala style guide or Spark wiki?
>> >> >>
>> >
>> >
>>



-- 
--
Evan Chan
Staff Engineer
e...@ooyala.com  |

Reply via email to