+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 |