- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
object Cорок {
infix fun тысяч(b: String) = this
infix fun в(a: String) = this
infix fun сунули(a: String) = this
}
fun main() {
Cорок тысяч "обезъян" в "жопу" сунули "банан"
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
object Cорок {
infix fun тысяч(b: String) = this
infix fun в(a: String) = this
infix fun сунули(a: String) = this
}
fun main() {
Cорок тысяч "обезъян" в "жопу" сунули "банан"
}
0
enum class Measures {
B, KB, MB, GB;
private val size = BigDecimal.valueOf(1024L).pow(ordinal)
companion object {
fun toHumanSize(value: Long): String {
val decValue = value.toBigDecimal()
val measure = values().reversed().find { it.size < decValue } ?: B
return "${decValue.divide(measure.size, 3, RoundingMode.UP)} $measure"
}
}
}
0
data class User(
@Expose
@SerializedName("email")
val email: String? = null,
@Expose
@SerializedName("username")
val username: String? = null,
@Expose
@SerializedName("image")
val image: String? = null
) {
override fun toString(): String {
return "User(email=$email, username=$username, image=$image)"
}
}
JetBrains сделали прекрасный стандартный toString у дата классов, а они всё равно пишут свой туСтринг, который выдаёт результат в точности повторяющий стандартный.
https://github.com/mitchtabian/MVIExample/blob/master/app/src/main/java/com/codingwithmitch/mviexample/model/User.kt
0
// One workaround is to approximate a namespace by using with a singleton object class.
object FooActions {
fun foo() {...}
}
Им дали возможность описывать функции на уровне пакета, без надобности совать их в MyOhuennyeUtils, а они жалуются что нету неймспейсов и пихают функци в класы. Долбоебы ¯\_(ツ)_/¯
https://medium.com/keepsafe-engineering/kotlin-the-good-the-bad-and-the-ugly-bf5f09b87e6f#3a98
0
private fun getProviders(): List<Provider> =
applicationContext.getBeansOfType(Provider::class.java).values +
applicationContext.getBeansOfType(List::class.java).values.flatten().flatMap { bean ->
when (bean) {
is Provider -> listOf(bean)
else -> listOf()
}
}
Грамотная работа с applicationContext'ом
0
private fun GetDeviceInfo(request: HttpServerRequest): HashMap<String, Info>
{
val deviceInfo = request.getParam(NAME_ID)?.let { id ->
(Ports.ById(id) ?: Ports.ByDeviceId(id))?.let(DeviceInfo.Companion::Create)
?: Files.FromPath(id)?.let { file ->
FileInfo.GetInfo(file)
} ?: (Core.GetTask(id) as? Scenario)?.SourceFile?.let(::FileInfo)
}
return deviceInfo?.let { hashMapOf(REQUEST_RESULT to it) } ?: hashMapOf()
}