这次分享计划的定位我们要明确:
因为现在很多人想要上手或者想要了解 Kotlin 和 Jetpack,但苦于没有好的上手指南,因此导致大量的团队因为无法全员快速掌握而暂时放弃 Kotlin 和 Jetpack。
出于这个原因,我们现在最需要做的是对它们一份快速的上手指南。关键词:上手、快速掌握。
基于上面上手、快速掌握的定位,码上开学对于所有文章的要求如下:
-
要讲清楚「怎么用」,这是最基本的要求。
以「魔毯上手」为例,你肯定要把怎么骑魔毯讲清楚吧?
-
在讲「怎么用」之前,先等一下,先讲清楚「它是什么」,让人有了概念以后再去学习用法,而不是直接依葫芦画瓢。
-
如果「魔毯」对于大家已经是一个耳熟能详的东西了,那只要简单提一句「魔毯大家都见过,很多人也坐过,但真正会骑的人其实不多,今天这个上手指南就是给希望上手魔毯骑乘的人准备的」。
-
如果「魔毯」还是一个比较陌生的概念,就要介绍一下了。例如「说到魔毯,知道的人并不多。其实通俗地讲,这就是一个简陋版的敞篷飞机(狗头)。不过说简陋只是它的长相简陋,它的功能性是非常强的:和传统的飞机比起来,它没有复杂的操作面板,只要进行三五分钟的人脑匹配就可以起飞了;它在速度上虽然比飞机要慢,但比起一般的地面交通工具来说依然快得多;而且最酷的是,它的动力系统和传统的飞机不一样,它用的是魔法驱动,所以没有又大又重的油箱和发动机,这让魔毯的飞行和停泊都比飞机便捷太多了。……」
-
-
在讲完「怎么用」之后,也要给出用例。用例是最简化的经典用例就好,用来告诉大家「我就是这么用的」或者「建议新手先这么用」。作用是让人不会看完之后脑子里全是理论却无从下手。
在你讲了魔毯的完整的操作指南之后,别人脑子里会是「大脑适配」「启动与停泊」「高楼区注意事项」「高空飞行注意事项」等等一大堆似懂非懂的东西,要想学会和体系化记住这些东西,肯定是需要伴随着实践的二次阅读三次阅读 N 次阅读才能慢慢掌握的。但他们自我实践和二次阅读之前,先给他们一个 Demo,会让他们觉得有地方下手,而不是不知所措。
例:「说了这么多,其实上面的内容都是需要一些练习,假以时日才能全部掌握的。不过作为一个新手,其实你第一次骑乘魔毯需要的东西并不多。你可以先去三里屯 SOHO 或者紫竹院东门的玉米魔毯体验店选一个好看的魔毯,交上 20 体验费和 2000 元押金,拿到门口的空地上,坐上魔毯,按下左上角的匹配按钮,匹配完成之后告诉它“最低速升空 5 米,最低速前进 10 米,然后最低速智能返回”,就可以完成你的初次体验了。既安全,又简单。如果尝试之后觉得喜欢,再去购买和学习就可以了。」
-
首先,我们要知道,这是我们写给别人的上手指南,而不是熟手之间的经验分享,因此写的时候要时刻记得「我的读者对我分享的这方面技术很大概率是一无所知的」。
例如,在讲 Java 的 static 在 Kotlin 中的等价实现方式的时候,如果直接告诉读者「可以写在 object 里,也可以写在 companion object 里,还可以直接写在 kt 文件里面」,而对于 object 和 companion object 却没有任何解释或链接,这样的文章就是不合格的,因为读者连什么是 object 都不知道,看到这里一定会晕。
-
另外,Kotlin 和 Jetpack 的新手里面,有很大一部分是 Android 的中低手。我们如果要让这些人读懂,就要尽量少地对读者有技术功底上的假设。
例如,当你觉得「这个概念不用讲」的时候,可以多自我确认一下:真的不用讲吗?
-
这条针对 Jetpack:不对读者的 Kotlin 语言技能有任何假设。
-
所有样例代码需要包含 Java 和 Kotlin 两种代码(KTX 之类特殊的模块除外)。
-
但文章作者不要求掌握 Kotlin 。如果有需求,Kotlin 代码可以由其他辅助作者代为补充。
-
-
这条针对 Kotlin:码上开学是针对 Android 工程师的,而不是 「Java 工程师」,也不是「所有程序员」或者「程序员或非程序员的任何群体」。我们目标明确:Android 工程师。所以在写的时候也要考虑到读者的知识「下界」。也就是说:
-
对于 Android 工程师会了的东西,就不用费工夫解释。
例如 Kotlin 里面有基本类型,Java 也有。那么在讲 Kotlin 基本类型的时候不用从「什么是基本类型」讲起,因为 Android 工程师都知道的。直接讲 Kotlin 的基本类型和 Java 基本类型的异同就可以了(或者你觉得只讲不同就够了,不用讲相同点,也行)。
-
只要方便理解,可以用 Android 开发的一些东西来举例,不要管 Java 工程师或者其他工程师或者非程序员能不能看懂。
例如在讲协程的时候,如果你觉得有个地方用 Android 的 Handler 来举例子会比较容易理解,那就用。Java 工程师看不懂怎么办?我也不知道……😂但是我们不管这个,一切以 Android 工程师为目标。
-
-
大家在用的过程中,总会越用越深入,但这些深入的知识点,如果和「上手」无关,最好控制一下讲的深度。不然:
-
读者会觉得「卧槽好难」,把他们吓跑。
-
技术知识一旦深入,就会有无数的细分方向,这些方向如果写得少,我们的知识覆盖不全,对于读者作用太小,并且反而有干扰效果;而如果深入的细分方向覆盖得很全……嘿嘿其实以我经验,这非常难,因为这对我们将是非常大的挑战,毕竟这是个业余项目,大家都没有每天 8 小时的时间用来做这件事。所以,深度方面尽量控制一下,没有必要太深。
-
就是想写深入的东西怎么办?写文章发布到博客、专栏、公众号,和其他老手们一起来碰撞吧。
-
以上这几条要求会作为审阅时的主要标准。文章符合以上标准的,择优发布;不符合标准的地方会被要求修改,还不符合再改,一直改到符合标准或作者买凶把审阅者或扔物线打死。另外,审阅者可以适当地使用另一个简单标准:把自己假想成对这篇文章的知识点一无所知的小白,如果你觉得小白看不懂这篇文章,可以直接作为不合格的理由要求作者修改(当然你要说服作者,这文章为什么小白看不懂)。
新增:Kotlin 系列写作要求 。
尽我们的努力,让更多的华语程序员快速上手 Kotlin 和 Jetpack,让更多的华语团队开始尝试 Kotlin 和 Jetpack。
这是个无偿项目,但作为推动项目进展的动力,码上开学会为成功发布的文章作者们提供以下非金钱形式的回馈:
-
Kotlin 和 Jetpack 项目各自的总负责人,在 kaixue.io 会有单独的个人介绍页面,包含由扔物线写的一段介绍和一段自我介绍,其中自我介绍部分内容不限,自我推荐、招聘广告都可以,并且可以在今后无限期、无次数限制地更新。
-
每篇文章的作者可以附上一段自我介绍,内容不限,自我推荐、招聘广告都可以,并且可以在今后无限期、无次数限制地更新。
-
每篇文章的审阅者和辅助作者可以附上一段一句话自我介绍。
-
每篇文章的作者可以附上一个自己的微信二维码(除非个人坚持不加,否则建议附上)。
-
每篇文章的作者可以附上一个自己的收款二维码,微信 / 支付宝 / 微信加支付宝都行(除非个人坚持不加,否则建议附上)。