每年十二月,几十万名开发者会去做 Advent of Code,其中不少人会把自己的解法发出来。几乎都是图片,也几乎都把尺寸搞错了。
图片胜出的原因很直白:大多数平台会把粘贴的代码毁掉——缩进塌了,语法高亮没了,一行漂亮的写法变成一团看不懂的东西。图片能躲过这一切。但代价是真实存在的,值得说清楚:图片没法复制、没法搜索,屏幕阅读器也读不了,所以请在旁边附上源码链接。
发有意思的那部分,不是整个文件
最常见的错误是把整个解法文件截下来。没人会在手机上读一张 60 行的图片。Advent of Code 的解法里几乎总有一个有意思的点:输入的解析、递推关系、把暴力枚举变成瞬间出结果的那个小技巧。截那一段,剩下的交给仓库链接。
在时间线上还读得清的上限,大约是十到十五行。
按平台定尺寸,不是按你的屏幕
大多数解法图片就栽在这里。在 27 寸显示器上看着挺好的代码,进了信息流就成了六号字。
- 时间线帖子适合 16:9 或 4:3。再宽的话,文字就得缩小才塞得下。
- 竖版信息流适合 9:16 或 3:4——反正大多数解法本来就是又高又窄的形状。
- 不管发到哪里,都用 2× 或 3× 导出。1× 的图片在 Retina 屏上发虚,看着有点业余。
在 Codeshot 里就是「宽高比」那一栏——把「原始」改成「固定」,选好比例,再设置导出倍率。每次都是这三个开关。
选一个有对比度的主题
十二月的讨论串是一整面代码图片的墙,被读到的都是那些一眼就能看清的。高对比度的主题比清淡的主题更撑得住小字。Tokyo Night、Atom One 和 Solarized 缩小之后都还立得住,几个低对比度的主题就不行。
在为这一个月定下主题之前,你可以在这里对比全部 30 款。
二十五天保持一致
如果你打算每天发,那就在第一天定好主题、背景和比例,之后再也别动。一致性才能让一个系列在信息流里被认出来。而且实际上,它省掉了每次那二十秒的折腾——很多人到第十一天左右放弃更新,真正的原因往往就在这儿。
原生应用在这一点上有优势,因为它会把设置保留到下次启动。第一天设好,之后每天就是粘贴、导出、发布。
关于剧透
Advent of Code 的作者请大家不要在排行榜填满之前公开发布解法。请查看当年的具体说明;拿不准的话,等当天结束之后再发,而不是进行当中。
想看完整流程,见如何把代码变成图片。