Koko / Говнокод #26408 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
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

Gorr Gorr, (Updated )

Комментарии (76, +76)

Koko / Говнокод #25919 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
// 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

Lorip1971 Lorip1971, (Updated )

Комментарии (45, +45)

Koko / Говнокод #25734 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
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'ом

pasha3103 pasha3103, (Updated )

Комментарии (37, +37)

Koko / Говнокод #25394 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
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()
	}

jadedolej jadedolej, (Updated )

Комментарии (15, +15)