Kotlinをあえて難読化する

  • 6
    いいね
  • 0
    コメント

この記事はKotlin Advent Calendar2016の8日目の記事です。

難読化

Kotlinでは`で囲うことで半角スペースなどの特殊文字を名前に含めることができます。
残念ながらAndroidプロジェクトではエラーになり使用できませんが、テストメソッド名などでは重宝するでしょう。

@Test fun `4 + 2 = 6`() {
  assertEquals(6, 4 + 2)
}

変数名、関数名、パラメーター名に使用できます。

val `f o o` = 1
fun `b a r`(`b a z`: Int) {}

半角スペースのみの命名も可能です。

val ` ` = 1

infix にも使用できるので、以下のような難読コードを書くこともできます。

class ExampleUnitTest {
    val Int.` `: Int get() = this + 1
    infix fun Int.` `(` `: Int) = this + ` `
    @Test fun ` `() {
        val ` ` = 1
        assertEquals(3, ` `.` ` ` ` ` `)
    }
}