<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.bibble.co.nz/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Scala_Naming_Standards</id>
	<title>Scala Naming Standards - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.bibble.co.nz/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Scala_Naming_Standards"/>
	<link rel="alternate" type="text/html" href="https://wiki.bibble.co.nz/mediawiki/index.php?title=Scala_Naming_Standards&amp;action=history"/>
	<updated>2026-06-13T15:06:26Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://wiki.bibble.co.nz/mediawiki/index.php?title=Scala_Naming_Standards&amp;diff=10649&amp;oldid=prev</id>
		<title>Iwiseman at 05:15, 10 September 2025</title>
		<link rel="alternate" type="text/html" href="https://wiki.bibble.co.nz/mediawiki/index.php?title=Scala_Naming_Standards&amp;diff=10649&amp;oldid=prev"/>
		<updated>2025-09-10T05:15:24Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://wiki.bibble.co.nz/mediawiki/index.php?title=Scala_Naming_Standards&amp;amp;diff=10649&amp;amp;oldid=10648&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Iwiseman</name></author>
	</entry>
	<entry>
		<id>https://wiki.bibble.co.nz/mediawiki/index.php?title=Scala_Naming_Standards&amp;diff=10648&amp;oldid=prev</id>
		<title>Iwiseman: /* Case Classes */</title>
		<link rel="alternate" type="text/html" href="https://wiki.bibble.co.nz/mediawiki/index.php?title=Scala_Naming_Standards&amp;diff=10648&amp;oldid=prev"/>
		<updated>2025-09-10T05:13:45Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Case Classes&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 05:13, 10 September 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l39&quot;&gt;Line 39:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 39:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Case Classes ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Case Classes ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Use &#039;&#039;&#039;PascalCase&#039;&#039;&#039; for case class &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;names&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Use &#039;&#039;&#039;PascalCase&#039;&#039;&#039; for &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the &lt;/ins&gt;case class &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;name, and &#039;&#039;&#039;camelCase&#039;&#039;&#039; for its attributes&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&#039;&#039;&#039;Example&#039;&#039;&#039;: &amp;lt;code&amp;gt;case class UserProfile(&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;name&lt;/del&gt;: String, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;age&lt;/del&gt;: Int)&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&#039;&#039;&#039;Example&#039;&#039;&#039;:  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;case class UserProfile(&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;userName&lt;/ins&gt;: String, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;birthYear&lt;/ins&gt;: Int)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Enumerations ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Enumerations ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Iwiseman</name></author>
	</entry>
	<entry>
		<id>https://wiki.bibble.co.nz/mediawiki/index.php?title=Scala_Naming_Standards&amp;diff=10647&amp;oldid=prev</id>
		<title>Iwiseman: Created page with &quot;= Scala Naming Standards =  This page defines naming conventions for Scala codebases, supporting consistency, readability, and onboarding clarity. Inspired by the TypeScript standards used in Bibble projects.  == Variables == Use &#039;&#039;&#039;camelCase&#039;&#039;&#039; for local and mutable variables.  &#039;&#039;&#039;Example&#039;&#039;&#039;: &lt;code&gt;var userName = &quot;John&quot;&lt;/code&gt;  == Values == Use &#039;&#039;&#039;camelCase&#039;&#039;&#039; for immutable values.  &#039;&#039;&#039;Example&#039;&#039;&#039;: &lt;code&gt;val maxRetries = 3&lt;/code&gt;  == Functions == Use &#039;&#039;&#039;camelCase&#039;&#039;&#039; for...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.bibble.co.nz/mediawiki/index.php?title=Scala_Naming_Standards&amp;diff=10647&amp;oldid=prev"/>
		<updated>2025-09-10T05:12:20Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;= Scala Naming Standards =  This page defines naming conventions for Scala codebases, supporting consistency, readability, and onboarding clarity. Inspired by the TypeScript standards used in Bibble projects.  == Variables == Use &amp;#039;&amp;#039;&amp;#039;camelCase&amp;#039;&amp;#039;&amp;#039; for local and mutable variables.  &amp;#039;&amp;#039;&amp;#039;Example&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;var userName = &amp;quot;John&amp;quot;&amp;lt;/code&amp;gt;  == Values == Use &amp;#039;&amp;#039;&amp;#039;camelCase&amp;#039;&amp;#039;&amp;#039; for immutable values.  &amp;#039;&amp;#039;&amp;#039;Example&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;val maxRetries = 3&amp;lt;/code&amp;gt;  == Functions == Use &amp;#039;&amp;#039;&amp;#039;camelCase&amp;#039;&amp;#039;&amp;#039; for...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Scala Naming Standards =&lt;br /&gt;
&lt;br /&gt;
This page defines naming conventions for Scala codebases, supporting consistency, readability, and onboarding clarity. Inspired by the TypeScript standards used in Bibble projects.&lt;br /&gt;
&lt;br /&gt;
== Variables ==&lt;br /&gt;
Use &amp;#039;&amp;#039;&amp;#039;camelCase&amp;#039;&amp;#039;&amp;#039; for local and mutable variables.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;var userName = &amp;quot;John&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Values ==&lt;br /&gt;
Use &amp;#039;&amp;#039;&amp;#039;camelCase&amp;#039;&amp;#039;&amp;#039; for immutable values.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;val maxRetries = 3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Functions ==&lt;br /&gt;
Use &amp;#039;&amp;#039;&amp;#039;camelCase&amp;#039;&amp;#039;&amp;#039; for method and function names.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;def calculateTotal(): Double = { ... }&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
Use &amp;#039;&amp;#039;&amp;#039;camelCase&amp;#039;&amp;#039;&amp;#039; for function parameters.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;def getUser(userId: String): User = { ... }&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Classes ==&lt;br /&gt;
Use &amp;#039;&amp;#039;&amp;#039;PascalCase&amp;#039;&amp;#039;&amp;#039; for class names.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;class UserAccount { ... }&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Traits ==&lt;br /&gt;
Use &amp;#039;&amp;#039;&amp;#039;PascalCase&amp;#039;&amp;#039;&amp;#039; for trait names.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;trait Serializable { ... }&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Objects ==&lt;br /&gt;
Use &amp;#039;&amp;#039;&amp;#039;PascalCase&amp;#039;&amp;#039;&amp;#039; for singleton objects.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;object UserManager { ... }&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Case Classes ==&lt;br /&gt;
Use &amp;#039;&amp;#039;&amp;#039;PascalCase&amp;#039;&amp;#039;&amp;#039; for case class names.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;case class UserProfile(name: String, age: Int)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Enumerations ==&lt;br /&gt;
Use &amp;#039;&amp;#039;&amp;#039;PascalCase&amp;#039;&amp;#039;&amp;#039; for enum types and members.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example&amp;#039;&amp;#039;&amp;#039;: &lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
enum UserRole {&lt;br /&gt;
  case Admin, Editor, Viewer&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Constants ==&lt;br /&gt;
Use &amp;#039;&amp;#039;&amp;#039;UPPER_SNAKE_CASE&amp;#039;&amp;#039;&amp;#039; for global constants, or &amp;#039;&amp;#039;&amp;#039;camelCase&amp;#039;&amp;#039;&amp;#039; for scoped values.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example&amp;#039;&amp;#039;&amp;#039;: &lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
val MAX_RETRY_ATTEMPTS = 5&lt;br /&gt;
val apiEndpoint = &amp;quot;https://api.example.com&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Private Members ==&lt;br /&gt;
Use &amp;#039;&amp;#039;&amp;#039;camelCase&amp;#039;&amp;#039;&amp;#039; with optional underscore prefix for internal fields.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;private var _balance: Double = 0.0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Public Members ==&lt;br /&gt;
Use &amp;#039;&amp;#039;&amp;#039;camelCase&amp;#039;&amp;#039;&amp;#039; for public fields and methods.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;val name: String&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Type Parameters ==&lt;br /&gt;
Use &amp;#039;&amp;#039;&amp;#039;single uppercase letters&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;PascalCase&amp;#039;&amp;#039;&amp;#039; for generic types.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;class Box[T]&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;class Response[TItem]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File Names ==&lt;br /&gt;
Use &amp;#039;&amp;#039;&amp;#039;PascalCase.scala&amp;#039;&amp;#039;&amp;#039; for class/trait/object files.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;UserProfile.scala&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;LoginService.scala&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Package Names ==&lt;br /&gt;
Use &amp;#039;&amp;#039;&amp;#039;lowercase dot-separated&amp;#039;&amp;#039;&amp;#039; names.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;com.bibble.usermanagement&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Companion Objects ==&lt;br /&gt;
Use the same name as the class or trait they accompany.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example&amp;#039;&amp;#039;&amp;#039;: &lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
class User { ... }&lt;br /&gt;
object User { ... }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Iwiseman</name></author>
	</entry>
</feed>