1. Куча / Говнокод #25241

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    import java.io.File
    import java.io.FileReader
    
    fun main(args: Array<String>) {
        val text = getText("Input line")
        val fileName = getText("Input file name")
    
        val mode = getInt("Input mode: 1 for rewrite, 2 for append", 1, 2)
    
        doAction(mode, text, fileName)
    }
    
    fun doAction(mode: Int, text : String, fileName : String) {
        val file = File(fileName)
       when(mode) {
           1 -> file.writeText(text)
           2 -> file.appendText(text)
       }
    }
    
    fun getInt(message: String, min : Int, max: Int) : Int {
    
        var buffer : Int?
    
        do {
            print(message)
            buffer = readLine()?.toIntOrNull()
        }
        while (buffer == null || buffer !in min..max)
    
        return buffer
    }
    
    fun getText(message : String) : String {
        print(message)
        return readLine() ?: ""
    }

    Решил добавить немного говнокода на Kotlin

    Запостил: Tryff, 29 Декабря 2018

    Комментарии (4) RSS

    • Обычная лаба. Не то, чтобы говно, но и не шедевр. Для старта изучения языка пойдёт.

      Мне не нравится getInt. Если ввод не проходит валидацию, снова выводится приглашение к вводу, но пользователю не сообщают, в чём он неправ. Это может раздражать пользователей, не знакомых с логикой работы программы.

      В идеале пользователь должен догадаться, чего от него хотят, не подглядывая в исходный код программы.
      Ответить
      • Да, надо добавить запасное сообщение на случай, если в метод передали что-то беспонтовое
        Ответить
    • показать все, что скрытоПоэтому я за "PHP".
      Ответить
    • показать все, что скрыто
      * g o a t s e x * g o a t s e x * g o a t s e x *  
       g                                               g  
       o /     \             \            /    \       o  
       a|       |             \          |      |      a  
       t|       `.             |         |       :     t  
       s`        |             |        \|       |     s  
       e \       | /       /  \\\   --__ \\       :    e  
       x  \      \/   _--~~          ~--__| \     |    x  
       *   \      \_-~                    ~-_\    |    *  
       g    \_     \        _.--------.______\|   |    g  
       o      \     \______// _ ___ _ (_(__>  \   |    o  
       a       \   .  C ___)  ______ (_(____>  |  /    a  
       t       /\ |   C ____)/      \ (_____>  |_/     t  
       s      / /\|   C_____)       |  (___>   /  \    s  
       e     |   (   _C_____)\______/  // _/ /     \   e  
       x     |    \  |__   \\_________// (__/       |  x  
       *    | \    \____)   `----   --'             |  *  
       g    |  \_          ___\       /_          _/ | g  
       o   |              /    |     |  \            | o  
       a   |             |    /       \  \           | a  
       t   |          / /    |         |  \           |t  
       s   |         / /      \__/\___/    |          |s  
       e  |         / /        |    |       |         |e  
       x  |          |         |    |       |         |x  
       * g o a t s e x * g o a t s e x * g o a t s e x *
      Ответить

    Добавить комментарий