编程杂谈(一) - 英文是很重要的

编程杂谈(一) - 英文是很重要的

图:昏睡 - スカーサハさま

在知乎有无数的程序员都曾苦口婆心地劝说各位: 英文不要太差, 昨天我就因为现在式和过去式的分别而白白浪费了整天去处理一个feature....这种血淋淋的例子可一不可再, 我就说一下整个情况吧

//这方法不会改变本来的Iterable, 而是copy一份新的Iterable, 排序好再return
list.sortedWith(compareBy({
                SimpleDateFormat("yyyy-MM-dd").parse(it.split(dateTag)[1].split(" ").filter { it.contains(Regex("\\d{4}-\\d{2}-\\d{2}")) }[0])
            }, {
                SimpleDateFormat("HH:mm:ss").parse(it.split(dateTag)[1].split(" ").filter { it.contains(Regex("\\d{2}:\\d{2}:\\d{2}")) }[0])
            }))

//这是直接sort本来的list
list.sortWith(compareBy({
                SimpleDateFormat("yyyy-MM-dd").parse(it.split(dateTag)[1].split(" ").filter { it.contains(Regex("\\d{4}-\\d{2}-\\d{2}")) }[0])
            }, {
                SimpleDateFormat("HH:mm:ss").parse(it.split(dateTag)[1].split(" ").filter { it.contains(Regex("\\d{2}:\\d{2}:\\d{2}")) }[0])
            }))

我就是用了sortedWith,没赋值到新的list, 然後改了半天Comparator,list都没sort好
而且我还是在用Intellij Idea, 能看到fun的return...

望文生义, sorted是已经排列好的意思, 与sort两者在动作上明显有别, 而且在kotlin这种 过去-现在 的fun对比很常见(如reversed-reverse), 而且别说kotlin, 即使是其他语言比较深入的资料都得以英文为准, 所以我现在去补英文了(虽然补眼应该更有效,眼残)

这篇没啥内容,因为暂时精神都花在研究kotlin的data binding方法,所以就随便写了一下
说到data binding,国内搜到的基本上大多都是js,java的话因为getter setter从一开始就随便你摆弄,所以土法binding就是直接在getter setter动手
当然这样写依赖性强,不符合高内聚低耦合原则,所以我在想几个方向,同时一些科学网页也有介绍一些java data binding的方法,而kotlin亦有Delegates.observable这个方法,可行的方法不少,但哪个是在使用上最方便无脑,最适合懒人的则要都写出来,试一下才能得出结论

编辑于 2017-06-05

文章被以下专栏收录