@@ -6,134 +6,69 @@ overview-name: " "
66---
77
88This document is intended to outline some basic Scala stylistic guidelines which should be followed with more or less fervency. Wherever possible, this guide attempts to detail why a particular style is encouraged and how it relates to other alternatives. As with all style guides, treat this document as a list of rules to be broken. There are certainly times when alternative styles should be preferred over the ones given here.
9- <div class =" span8 " >
109
11- <ul >
12- <li><a href="{{ site.baseurl }}/style/indentation.html">Indentation</a>
13- <ul>
14- <li><a href="{{ site.baseurl }}/style/indentation.html#line-wrapping">Line Wrapping</a></li>
15- <li><a href="{{ site.baseurl }}/style/indentation.html#methods-with-numerous-arguments">Methods with Numerous Arguments</a></li>
16- </ul>
17- </li>
18- <li><a href="{{ site.baseurl }}/style/naming-conventions.html">Naming Conventions</a>
19- <ul>
20- <li><a href="{{ site.baseurl }}/style/naming-conventions.html#classestraits">Classes/Traits</a></li>
21- <li><a href="{{ site.baseurl }}/style/naming-conventions.html#objects">Objects</a></li>
22- <li><a href="{{ site.baseurl }}/style/naming-conventions.html#packages">Packages</a>
23- <ul>
24- <li><a href="{{ site.baseurl }}/style/naming-conventions.html#root">root</a></li>
25- </ul>
26- </li>
27- <li><a href="{{ site.baseurl }}/style/naming-conventions.html#methods">Methods</a>
28- <ul>
29- <li><a href="{{ site.baseurl }}/style/naming-conventions.html#accessorsmutators">Accessors/Mutators</a></li>
30- <li><a href="{{ site.baseurl }}/style/naming-conventions.html#parentheses">Parentheses</a></li>
31- <li><a href="{{ site.baseurl }}/style/naming-conventions.html#symbolic-method-names">Symbolic Method Names</a></li>
32- </ul>
33- </li>
34- <li><a href="{{ site.baseurl }}/style/naming-conventions.html#constants-values-variable-and-methods">Constants, Values, Variable and Methods</a></li>
35- <li><a href="{{ site.baseurl }}/style/naming-conventions.html#type-parameters-generics">Type Parameters (generics)</a>
36- <ul>
37- <li><a href="{{ site.baseurl }}/style/naming-conventions.html#higher-kinds-and-parameterized-type-parameters">Higher-Kinds and Parameterized Type parameters</a></li>
38- </ul>
39- </li>
40- <li><a href="{{ site.baseurl }}/style/naming-conventions.html#annotations">Annotations</a></li>
41- <li><a href="{{ site.baseurl }}/style/naming-conventions.html#special-note-on-brevity">Special Note on Brevity</a></li>
42- </ul>
43- </li>
44- <li><a href="{{ site.baseurl }}/style/types.html">Types</a>
45- <ul>
46- <li><a href="{{ site.baseurl }}/style/types.html#inference">Inference</a>
47- <ul>
48- <li><a href="{{ site.baseurl }}/style/types.html#function-values">Function Values</a></li>
49- </ul>
50- </li>
51- <li><a href="{{ site.baseurl }}/style/types.html#annotations">Annotations</a></li>
52- <li><a href="{{ site.baseurl }}/style/types.html#ascription">Ascription</a></li>
53- <li><a href="{{ site.baseurl }}/style/types.html#functions">Functions</a>
54- <ul>
55- <li><a href="{{ site.baseurl }}/style/types.html#arity-1">Arity-1</a></li>
56- </ul>
57- </li>
58- <li><a href="{{ site.baseurl }}/style/types.html#structural-types">Structural Types</a></li>
59- </ul>
60- </li>
61- <li><a href="{{ site.baseurl }}/style/nested-blocks.html">Nested Blocks</a>
62- <ul>
63- <li><a href="{{ site.baseurl }}/style/nested-blocks.html#curly-braces">Curly Braces</a></li>
64- <li><a href="{{ site.baseurl }}/style/nested-blocks.html#parentheses">Parentheses</a></li>
65- </ul>
66- </li>
67- <li><a href="{{ site.baseurl }}/style/declarations.html">Declarations</a>
68- <ul>
69- <li><a href="{{ site.baseurl }}/style/declarations.html#classes">Classes</a>
70- <ul>
71- <li><a href="{{ site.baseurl }}/style/declarations.html#ordering-of-class-elements">Ordering Of Class Elements</a></li>
72- <li><a href="{{ site.baseurl }}/style/declarations.html#methods">Methods</a>
73- <ul>
74- <li><a href="{{ site.baseurl }}/style/declarations.html#modifiers">Modifiers</a></li>
75- <li><a href="{{ site.baseurl }}/style/declarations.html#body">Body</a></li>
76- <li><a href="{{ site.baseurl }}/style/declarations.html#multiple-parameter-lists">Multiple Parameter Lists</a></li>
77- <li><a href="{{ site.baseurl }}/style/declarations.html#higher-order-functions">Higher-Order Functions</a></li>
78- </ul>
79- </li>
80- <li><a href="{{ site.baseurl }}/style/declarations.html#fields">Fields</a></li>
81- </ul>
82- </li>
83- <li><a href="{{ site.baseurl }}/style/declarations.html#function_values">Function Values</a>
84- <ul>
85- <li><a href="{{ site.baseurl }}/style/declarations.html#spacing">Spacing</a></li>
86- <li><a href="{{ site.baseurl }}/style/declarations.html#multi-expression-functions">Multi-Expression Functions</a></li>
87- </ul>
88- </li>
89- </ul>
90- </li>
91- <li><a href="{{ site.baseurl }}/style/control-structures.html">Control Structures</a>
92- <ul>
93- <li><a href="{{ site.baseurl }}/style/control-structures.html#curly-braces">Curly-Braces</a></li>
94- <li><a href="{{ site.baseurl }}/style/control-structures.html#comprehensions">Comprehensions</a></li>
95- <li><a href="{{ site.baseurl }}/style/control-structures.html#trivial-conditionals">Trivial Conditionals</a></li>
96- </ul>
97- </li>
98- <li><a href="{{ site.baseurl }}/style/method-invocation.html">Method Invocation</a>
99- <ul>
100- <li><a href="{{ site.baseurl }}/style/method-invocation.html#arity-0">Arity-0</a></li>
101- <ul>
102- <li><a href="{{ site.baseurl }}/style/method-invocation.html#suffix-notation">Suffix Notation</a></li>
103- </ul>
104- <li><a href="{{ site.baseurl }}/style/method-invocation.html#arity-1">Arity-1</a></li>
105- <ul>
106- <li><a href="{{ site.baseurl }}/style/method-invocation.html#higher-order-functions">Higher-Order Functions</a></li>
107- </ul>
108- <li><a href="{{ site.baseurl }}/style/method-invocation.html#symbolic-methodsoperators">Symbolic methods/Operators</a></li>
109- </ul>
110- </li>
111- <li><a href="{{ site.baseurl }}/style/files.html">Files</a>
112- <ul>
113- <li><a href="{{ site.baseurl }}/style/files.html#multi-unit-files">Multi-Unit Files</a></li>
114- </ul>
115- </li>
116- <li><a href="{{ site.baseurl }}/style/scaladoc.html">Scaladoc</a>
117- <ul>
118- <li><a href="{{ site.baseurl }}/style/scaladoc.html#general-style">General Style</a></li>
119- <li><a href="{{ site.baseurl }}/style/scaladoc.html#packages">Packages</a></li>
120- <li><a href="{{ site.baseurl }}/style/scaladoc.html#classes-objects-and-traits">Classes, Objects, and Traits</a>
121- <ul>
122- <li><a href="{{ site.baseurl }}/style/scaladoc.html#classes">Classes</a></li>
123- <li><a href="{{ site.baseurl }}/style/scaladoc.html#objects">Objects</a></li>
124- <li><a href="{{ site.baseurl }}/style/scaladoc.html#traits">Traits</a></li>
125- </ul>
126- </li>
127- <li><a href="{{ site.baseurl }}/style/scaladoc.html#methods-and-other-members">Methods and Other Members</a></li>
128- </ul>
129- </li>
130- </ul >
13110
132- </div >
11+ - [ Indentation] ( indentation.html )
12+ - [ Line Wrapping] ( indentation.html#line-wrapping )
13+ - [ Methods with Numerous Arguments] ( indentation.html#methods-with-numerous-arguments )
14+ - [ Naming Conventions] ( naming-conventions.html )
15+ - [ Classes/Traits] ( naming-conventions.html#classestraits )
16+ - [ Objects] ( naming-conventions.html#objects )
17+ - [ Packages] ( naming-conventions.html#packages )
18+ - [ root] ( naming-conventions.html#root )
19+ - [ Methods] ( naming-conventions.html#methods )
20+ - [ Accessors/Mutators] ( naming-conventions.html#accessorsmutators )
21+ - [ Parentheses] ( naming-conventions.html#parentheses )
22+ - [ Symbolic Method Names] ( naming-conventions.html#symbolic-method-names )
23+ - [ Constants, Values, Variable and Methods] ( naming-conventions.html#constants-values-variable-and-methods )
24+ - [ Type Parameters (generics)] ( naming-conventions.html#type-parameters-generics )
25+ - [ Higher-Kinds and Parameterized Type parameters] ( naming-conventions.html#higher-kinds-and-parameterized-type-parameters )
26+ - [ Annotations] ( naming-conventions.html#annotations )
27+ - [ Special Note on Brevity] ( naming-conventions.html#special-note-on-brevity )
28+ - [ Types] ( types.html )
29+ - [ Inference] ( types.html#inference )
30+ - [ Function Values] ( types.html#function-values )
31+ - [ Annotations] ( types.html#annotations )
32+ - [ Ascription] ( types.html#ascription )
33+ - [ Functions] ( types.html#functions )
34+ - [ Arity-1] ( types.html#arity-1 )
35+ - [ Structural Types] ( types.html#structural-types )
36+ - [ Nested Blocks] ( nested-blocks.html )
37+ - [ Curly Braces] ( nested-blocks.html#curly-braces )
38+ - [ Parentheses] ( nested-blocks.html#parentheses )
39+ - [ Declarations] ( declarations.html )
40+ - [ Classes] ( declarations.html#classes )
41+ - [ Ordering Of Class Elements] ( declarations.html#ordering-of-class-elements )
42+ - [ Methods] ( declarations.html#methods )
43+ - [ Modifiers] ( declarations.html#modifiers )
44+ - [ Body] ( declarations.html#body )
45+ - [ Multiple Parameter Lists] ( declarations.html#multiple-parameter-lists )
46+ - [ Higher-Order Functions] ( declarations.html#higher-order-functions )
47+ - [ Fields] ( declarations.html#fields )
48+ - [ Function Values] ( declarations.html#function_values )
49+ - [ Spacing] ( declarations.html#spacing )
50+ - [ Multi-Expression Functions] ( declarations.html#multi-expression-functions )
51+ - [ Control Structures] ( control-structures.html )
52+ - [ Curly-Braces] ( control-structures.html#curly-braces )
53+ - [ Comprehensions] ( control-structures.html#comprehensions )
54+ - [ Trivial Conditionals] ( control-structures.html#trivial-conditionals )
55+ - [ Method Invocation] ( method-invocation.html )
56+ - [ Arity-0] ( method-invocation.html#arity-0 )
57+ - [ Suffix Notation] ( method-invocation.html#suffix-notation )
58+ - [ Arity-1] ( method-invocation.html#arity-1 )
59+ - [ Higher-Order Functions] ( method-invocation.html#higher-order-functions )
60+ - [ Symbolic methods/Operators] ( method-invocation.html#symbolic-methodsoperators )
61+ - [ Files] ( files.html )
62+ - [ Multi-Unit Files] ( files.html#multi-unit-files )
63+ - [ Scaladoc] ( scaladoc.html )
64+ - [ General Style] ( scaladoc.html#general-style )
65+ - [ Packages] ( scaladoc.html#packages )
66+ - [ Classes, Objects, and Traits] ( scaladoc.html#classes-objects-and-traits )
67+ - [ Classes] ( scaladoc.html#classes )
68+ - [ Objects] ( scaladoc.html#objects )
69+ - [ Traits] ( scaladoc.html#traits )
70+ - [ Methods and Other Members] ( scaladoc.html#methods-and-other-members )
13371
134- < div class = " span8 " >
72+ ### Thanks to ###
13573
136- <h3 >Thanks to</h3 >
137- <p ><a href =" http://www.codecommit.com/ " >Daniel Spiewak</a > and <a href =" http://www.naildrivin5.com/ " >David Copeland</a > for putting this style guide together, and Simon Ochsenreither for converting it to Markdown.</p >
138-
139- </div >
74+ [ Daniel Spiewak] ( http://www.codecommit.com/ ) and [ David Copeland] ( http://www.naildrivin5.com/ ) for putting this style guide together, and Simon Ochsenreither for converting it to Markdown.
0 commit comments