Skip to content

Commit

Permalink
Reorder examples to match slides; rename some stuff
Browse files Browse the repository at this point in the history
  • Loading branch information
yole committed Jul 6, 2017
1 parent db48b1c commit d795611
Show file tree
Hide file tree
Showing 52 changed files with 85 additions and 78 deletions.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package t13_WhenAsExpressionBody.bad
package t01_WhenAsExpressionBody.bad

fun parseEnglishNumber(number: String): Int? {
when (number) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package t13_WhenAsExpressionBody.good
package t01_WhenAsExpressionBody.good

fun parseEnglishNumber(number: String) = when (number) {
"one" -> 1
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package t14_TryAsExpressionBody.bad
package t02_TryAsExpressionBody.bad

fun tryParseInt(number: String): Int? {
try {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package t14_TryAsExpressionBody.good
package t02_TryAsExpressionBody.good

fun tryParseInt(number: String) =
try {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package t15_ReturnInElvis.bad
package t03_ReturnInElvis.bad

class Person(val name: String?,
val age: Int?)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package t15_ReturnInElvis.good
package t03_ReturnInElvis.good

class Person(val name: String?,
val age: Int?)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package t16_Range.bad
package t04_Range.bad

fun isLatinUppercase(c: Char) =
c >= 'A' && c <= 'Z'
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package t16_Range.good
package t04_Range.good

fun isLatinUppercase(c: Char) =
c in 'A'..'Z'
2 changes: 0 additions & 2 deletions src/main/kotlin/t07_MemberExtensionFunctions/bad.kt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,4 @@ package t07_MemberExtensionFunctions.bad
class PhoneBook {
fun String.isPhoneNumber() =
length == 7 && all { it.isDigit() }

fun PhoneBook.findPhone(name: String) = "1234567"
}
1 change: 0 additions & 1 deletion src/main/kotlin/t07_MemberExtensionFunctions/good.kt
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package t07_MemberExtensionFunctions.good

class PhoneBook {
fun findPhone(name: String) = "1234567"
}

private fun String.isPhoneNumber() =
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package t08_MemberExtensionFunctionsSelfReceiver.bad

class PhoneBook {
fun PhoneBook.findPhone(name: String) = "1234567"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package t08_MemberExtensionFunctionsSelfReceiver.good

class PhoneBook {
fun findPhone(name: String) = "1234567"
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package t03_Lateinit.bad
package t11_Lateinit.bad

import org.junit.Assert
import org.junit.Before
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package t03_Lateinit.good
package t11_Lateinit.good

import org.junit.Assert
import org.junit.Before
Expand Down
10 changes: 0 additions & 10 deletions src/main/kotlin/t11_ReturnMultipleValues/bad.kt

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package t04_Typealias.bad
package t12_Typealias.bad

class Event

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package t04_Typealias.good
package t12_Typealias.good

class Event

Expand Down
10 changes: 10 additions & 0 deletions src/main/kotlin/t13_ReturnMultipleValues/bad.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package t13_ReturnMultipleValues.bad

fun namedNum(): Pair<Int, String> =
1 to "one"

fun main(args: Array<String>) {
val pair = namedNum()
val number = pair.first
val name = pair.second
}
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package t11_ReturnMultipleValues.good
package t13_ReturnMultipleValues.good

data class NamedNumber(val number: Int,
val name: String)

fun returnMultipleValues() =
fun namedNum() =
NamedNumber(1, "one")

fun main(args: Array<String>) {
val (number, name) = returnMultipleValues()
val (number, name) = namedNum()
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package t18_DestructuringInLoops.bad
package t14_DestructuringInLoops.bad

fun printMap(map: Map<String, String>) {
for (item in map.entries) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package t18_DestructuringInLoops.good
package t14_DestructuringInLoops.good

fun printMap(map: Map<String, String>) {
for ((key, value) in map) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package t12_DestructuringList.bad
package t15_DestructuringList.bad

data class NameExt(val name: String,
val ext: String?)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package t12_DestructuringList.good
package t15_DestructuringList.good

data class NameExt(val name: String,
val ext: String?)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package t02_DataClassCopy.bad
package t16_DataClassCopy.bad

class Person(val name: String, var age: Int)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package t02_DataClassCopy.good
package t16_DataClassCopy.good

data class Person(val name: String, val age: Int)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package t20_Apply.bad
package t18_Apply.bad

import java.awt.Color
import javax.swing.JLabel
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package t20_Apply.good
package t18_Apply.good

import java.awt.Color
import javax.swing.JLabel
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package t21_FilterIsInstance.bad
package t19_FilterIsInstance.bad

fun findAllStrings(objects: List<Any>) =
objects.filter { it is String }
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package t21_FilterIsInstance.good
package t19_FilterIsInstance.good

fun findAllStrings(objects: List<Any>) =
objects.filterIsInstance<String>()
9 changes: 9 additions & 0 deletions src/main/kotlin/t20_MapNotNull/bad.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package t20_MapNotNull.bad

data class Result(val data: Any?,
val error: String?)

fun listErrors(results: List<Result>): List<String> =
results.map { it.error }.filterNotNull()


Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package t22_MapNotNull.good
package t20_MapNotNull.good

data class Result(val data: Any?,
val errorMessage: String?)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package t23_CompareBy.bad
package t21_CompareBy.bad

class Person(val name: String,
val age: Int)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package t23_CompareBy.good
package t21_CompareBy.good

class Person(val name: String,
val age: Int)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package t25_GroupBy.bad
package t22_GroupBy.bad

class Request(val url: String,
val remoteIP: String,
val timestamp: Long)

fun analyzeRequests(log: List<Request>) {
fun analyzeLog(log: List<Request>) {
val map = mutableMapOf<String, MutableList<Request>>()
for (request in log) {
map.getOrPut(request.url) { mutableListOf() }
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package t25_GroupBy.good
package t22_GroupBy.good

class Request(val url: String,
val remoteIP: String,
val timestamp: Long)

fun analyzeRequests(log: List<Request>) {
fun analyzeLog(log: List<Request>) {
val map = log.groupBy(Request::url)
}
9 changes: 0 additions & 9 deletions src/main/kotlin/t22_MapNotNull/bad.kt

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package t26_SubstringBeforeLast.bad
package t23_SubstringBeforeLast.bad

data class PathParts(val directory: String,
val fileName: String)
data class PathParts(val dir: String,
val name: String)

val pattern = Regex("(.+)/([^/]*)")

Expand Down
8 changes: 8 additions & 0 deletions src/main/kotlin/t23_SubstringBeforeLast/good.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package t23_SubstringBeforeLast.good

data class PathParts(val dir: String,
val name: String)

fun splitPath(path: String) = PathParts(
path.substringBeforeLast('/', ""),
path.substringAfterLast('/'))
8 changes: 0 additions & 8 deletions src/main/kotlin/t26_SubstringBeforeLast/good.kt

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package t09_OmitReturnTypes;
package t99_OmitReturnTypes;

public interface IJavaInterface {
String getJavaValue();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package t09_OmitReturnTypes.bad
package t99_OmitReturnTypes.bad

import t09_OmitReturnTypes.IJavaInterface
import t99_OmitReturnTypes.IJavaInterface

class KtImpl : IJavaInterface {
fun getName(): String = "Foo"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package t09_OmitReturnTypes.good
package t99_OmitReturnTypes.good

import t09_OmitReturnTypes.IJavaInterface
import t99_OmitReturnTypes.IJavaInterface

class KtImpl : IJavaInterface {
fun getName() = "Foo"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package t19_Optional.bad
package t99_Optional.bad

import java.util.*

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package t19_Optional.good
package t99_Optional.good

fun processOptional(x: String?) {
val s = x ?: "Unknown"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package t01_SmallClasses.bad
package t99_SmallClasses.bad

class Address(val city: String, val street: String, val zipCode: String) {
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package t01_SmallClasses.bad
package t99_SmallClasses.bad

class Company(val personnel: List<Person>, val address: Address) {
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package t01_SmallClasses.bad
package t99_SmallClasses.bad

class Person(val name: String, val address: Address) {
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package t01_SmallClasses
package t99_SmallClasses

class Address(val city: String, val street: String, val zipCode: String)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package t24_Zip.bad
package t99_Zip.bad

fun calculateRequestDurations(requestTimestamps: LongArray,
responseTimestamps: LongArray) =
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package t24_Zip.good
package t99_Zip.good

fun calculateRequestDurations(requestTimestamps: LongArray,
responseTimestamps: LongArray) =
Expand Down

0 comments on commit d795611

Please sign in to comment.