duangsuse::Echo
719 subscribers
4.28K photos
130 videos
583 files
6.49K links
import this:
美而不丑、明而不暗、短而不凡、长而不乱,扁平不宽,读而后码,行之天下,勿托地上天国。
异常勿吞,难过勿过,叹一真理。效率是很重要,盲目最是低效。
简明是可靠的先验,不是可靠的祭品。
知其变,守其恒,为天下式;穷其变,知不穷,得地上势。知变守恒却穷变知新,我认真理,我不认真。

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): https://WOJS.org/#/
Download Telegram
duangsuse::Echo
我们要重写的就是这个,考虑到没必要的原因,就不写 Reader/Writer 部分了 不,写,用 Kotlin multi-platform
停,咱们暂时回到正题,反正以我的编程习惯也写不出来不好维护的项目,还是继续讨论这个玩意怎么实现。
This media is not supported in your browser
VIEW IN TELEGRAM
我写得这么好看你们也不星一下,莫不是应了那句好东西都没人星的道理
duangsuse::Echo
我写得这么好看,你们也不星一下,莫不是应了那句好东西都没人星的道理。
因为 duangsuse 太大佬了 咱弱鸡看不懂
This media is not supported in your browser
VIEW IN TELEGRAM
我还是理解的,毕竟从JavaScript系开源社区的角度看,我的项目还没 README 呢,也没 examples,都是代码往上贴,有人看才怪。

而且涉及到二进制会的人估计也少,就是一群只用 for (int i=0; i<size; i++);class User { int age; } 这种的,不做二进制读写更别提手书 java.io.DataInputStream 了,更有甚者连 Java 的 int 有几二进制位甚至 IEEE754 都不知道。

本项目使用到许多函数式风格,以及对 Kotlin property/method extension、in/out variance、inline/crossinline、takeIf/also 这类东西的使用,其实在工程界实属罕见,有些框架的设计者会一点,但应用层的人基本都是能写死写死了,不会想着怎么好看。
或许在许多开发者眼里,类型就是 val x: Int = 1,但我的理解会更深刻一点,我的直觉是类型为程序静态规范性服务,所以用得比较随性一些(包括尽可能多泛型化,不常见一点的 overloading 使用方式什么的),虽然这也很菜但其实『很高』了。
duangsuse::Echo
我还是理解的,毕竟从JavaScript系开源社区的角度看,我的项目还没 README 呢,也没 examples,都是代码往上贴,有人看才怪。 而且涉及到二进制会的人估计也少,就是一群只用 for (int i=0; i<size; i++); 和 class User { int age; } 这种的,不做二进制读写更别提手书 java.io.DataInputStream 了,更有甚者连 Java 的 int 有几二进制位甚至 IEEE754 都不知道。 本项目使用到许多函数式风格,以及对 Kotlin…
所以说他们怎么那么菜啊!这其实也没多难的好不好…… (跑
唉。

其实本项目也不是为了给那些小白写的,如果有机会以后用 Literate Kotlin 重写了就能让小白看懂了,但是不得不废话很多东西,现在主要是让知道自己要干什么的人能写少点、写直白点。
duangsuse::Echo
因为 duangsuse 太大佬了 咱弱鸡看不懂
Rachel 高考顺利。很久没看见你了,感谢一直关注本频道~(怎么感觉好像很稀奇订阅者一样,真是贪 star 太少成病了么……)
当知道要重写的代码分成 data/operation,而且不同的部分在不同的文件里,且解析器是高耦合的时候,我非常惊恐。
当知道要重写的代码没有严格面向对象,而是使用 singleton data storage + clear(),并且使用 subsequence 式解析数据提取法,我更慌了。
StringChunk 和 style 的 offset 计算方式扑朔迷离,令人窒息…… 原来 copyByte 的第一个参数是 offset,第二个是 size…… 我还以为是 index range 呢
我感觉我在一大堆 magic number 里尝试揣度这到底是要提取哪个位置的数据。
让自己觉得看懂这样的代码非常简单,但想理解很烧脑,尤其是我这种人在看 4, 8, ... 4??? 这些参数的时候。
我去,这注释位置也太离奇了吧!为什么不注释在下面呢?上面谁知道那个 8 是啥意思啊?
awsl
太难了!
这扑朔迷离的名词 stylePool,在是 int 的同时又是 byte[]
这个特化处理也太难了吧!我感觉我是在写 radare2 脚本。