【写作能力提升】系列文章:

为什么建议你一定要学会写作?

“5 种搭建⽂章架构的⽅法”免费赠送!

写作小白需要避免的五个写作误区和灵魂五问

一、前言

Hello,我是小木箱,今天主要分享的内容是: 5 种搭建⽂章架构的⽅法!

大家普遍有一个共同的疑惑——如何写作? 其实是一个很难回答的问题。因为问题比较空泛,好比别人问你怎样赚钱一样难回答。

如果问我如何写好一篇文章?需要具备的核心的技能是什么?我可能会说: 搭建框架框架是文章的根基,能不能搭好文章的框架决定了文章的质量。

想要写好一篇文章,最先要做的便是搭建文章框架。为什么这么说呢?因为如果写文章不搭建框架,那么写作会出现以下三种情况。

二、三种情况

2.1 第⼀种情况:写着写着思路断了

第一种情况: 写着写着思路断了 ,断了也不要紧,接不回来了才尴尬。刚刚明明想得很清楚,上了个厕所,就忘了接下来应该怎么写了。

2.2 第⼆种情况:写着写着就跑题了

第二种情况: 写着写着就跑题了,写得很嗨,写得很快。一顿操作猛如虎,行云流水 30000 字,写完一看,完了,跑题了,BBQ 了。

2.3 第三种情况:逻辑处理不够严谨

第三种情况: 思路也没断,也没跑题,逻辑处理的不太严谨,大大影响了内容的质量。

三、搭建文章框架

这三种情况是因为没有搭建文章框架导致的。框架是写文章时的指路灯。这条指路灯是你的逻辑。它确保你的内容不会冲出跑道,第一读者读起来没有压力,第二写的时候会更容易,所以说搭建文章框架是写作最关键的一步,那怎么搭建文章框架呢?我总结了五种搭建文章框架的方法。

3.1 时间的顺序

第一种,按照时间的顺序布局,在自媒体写作中,第一种常见的逻辑顺序是: 按照时间的顺序来写时间自带的逻辑,从昨天到今天,从今天到明天,这是时间逻辑;年终总结,从年初到年中,从年中到年终,这是时间逻辑;从过去到现在,从现在到未来,这也是时间逻辑。

3.1.1 Activity 的生命周期案例分析

Activity 的生命周期从onCreateonStartonResumeonPauseonStoponDestroy是时间逻辑,按照时间的顺序布局每一个生命周期方法具体行为,是比较好写的一种方法。

3.1.2 推荐信材料申请案例分析

比如之前兼职帮别人写院校推荐信的时候,文章的脉络就是从对方的教育经历、职业经历和创业经历中去寻找经历难点和解决思路,然后按照时间顺序做串联。关键时间节点加上具体故事情节增强说服力,营造出真实且跌宕起伏的氛围。

推荐信通过时间顺序的写法抓住了老教授们的注意力。因为老教授们很关心下一步发生了啥?学生的学习能力是否很强?未来发展潜力是否很大?

按照时间的顺序搭建框架,有几点要注意: 首先是时间点必须要准确,按照时间的顺序写文章,时间是一个不能模棱两可的因素。

什么时间做了什么事? 必须有比较高的可信度。按照时间顺序写文章,一旦搞错时间被读者抓到了,那么就属于重大事故。其次选择的时间点必须有意义,也就是说每个时间点要有可以表达的内容。

3.1.3 《人物传记袖珍馆 4:马云》案例分析

比如在 《人物传记袖珍馆 4:马云》 中,就挑了几个重要的节点。第一是马云在北京黄页创业失败历程,第二是阿里进军 C2C 领域电商打败 eBay 创业成功历程,最后是阿里收购雅虎建立电商生态的经历。

之所以找重要节点,主要是因为时间节点有故事可写,这些故事会帮助你提升文章的效果。然后时间的顺序可以正着写,可以反着来写,可以由过去到现在来写,可以由现在到过去来写。

只要以时间为主线,正反可以根据实际情况来写。但大多数情况下由老及新的。以上就是按照时间的顺序来搭建文章框架,难度低且对新手比较友好。

3.2 空间的顺序/结构的顺序

第二种,搭建框架的方法是按照空间的顺序或者是按照结构的顺序。所谓空间的顺序就是由上到下,由前到后,由左到右,由内而外,由外而内等等。

3.2.1 JVM 内存结构案例分析

比如: 你要写 JVM 内存结构的文章的时候,首先可以按照空间的顺序分别介绍 JVM 结构每个空间结构。然后再描述每个空间结构的具体特征,最后再梳理一下 Java7 到 Java8 特定空间结构版本的差异点以及为什么会有这样的差异点。

3.2.2 设计模式案例分析

比如: 你要写设计模式的文章的时候,设计模式根据功能可以分为创建型、结构型和行为型。

其次,介绍创建型特征、类型和本质。

然后,介绍结构型特征、类型和本质。

最后,介绍行为型特征、类型和本质。

这样逻辑性会更强,讲得也会更清楚,如果内容过多,那么可以按章节拆开来写。

3.2.3 集合容器案例分析

再比如: 你要写集合容器的文章的时候,你可以按照数据结构的依次介绍集合的几个重要结构: List、Set、Map、Queue、并发包五大基本结构。

然后再挑选几个有代表性的集合逐个介绍简介、数据结构、具体使用、源码分析、不同版本差异性、扩容机制和常见的面试题等。

无论是掘金优秀知识博主去讲解集合框架的基础知识还是腾讯课堂优秀讲师录制集合框架的视频,咱基本能捕捉到空间顺序或结构顺序的影子。

3.3 ⾃上向下搭建⾦字塔结构

第三种,是自上向下的搭建金字塔结构方式。自上向下搭建金塔结构首先要做的就是确定塔尖,这个塔尖通常是你要表达的结论,这种写法也通常被称为: 结论先行,以上统下。塔尖确定后,以此向下层展开。从第二层开始,每一层的目标都是为了说清楚这一层的塔尖所代表的结论。

3.3.1 今日头条适配方案案例分析

我举个例子,在 JessYan 骚年你的屏幕适配方式该升级了!-今日头条适配方案 一文中,文章开头首先通过当下 android 开发屏幕适配框架面临的历史问题,其次通过外链进行简单对比,阐明其他历史屏幕适配框架的缺陷,然后建议开发选择适合自己项目的屏幕适配方案。最后引申出了今日头条屏幕适配方案。

那么为什么建议大家去选择今日头条屏幕适配方案?

作者首先讲解了一下今日头条适配方案的原理,然后利用申请类的写作场景在两种不同的终端验证今日头条屏幕适配方案可行性。

其次,分析今日头条屏幕适配方案的优势和缺陷,让开发以客观的视角看待今日头条屏幕适配方案。

然后,根据今日头条屏幕适配方案的缺陷,寻找合适的方案解决其框架痛点。

最后,为了让开发更加顺滑的使用今日头条屏幕适配方案,作者将今日头条适配方案在实际项目中遇到的每个坑都逐一复现和修复。

文章的末尾,作者对整个文章构建思路进行了归纳总结,并且回复了评论区开发人员的具象问题。文章行文看起来逻辑清晰、结构鲜明和内容得体。

这是典型的自上向下的搭建金字塔结构,首先告诉你写作主旨,然后逐字展开表达,最后搭建以结论为塔尖的金字塔结构,表达效果非常好。这种写作手法通常比较适合传达一些大家共有的认知。

3.3.2 FlutterWeb 性能优化探索与实践案例分析

比如在美团技术团队的一篇文章FlutterWeb 性能优化探索与实践中,开头首先,以生态帝国 Google 对 FlutterWeb 的支持和美团外卖商家端期待 MTFlutterWeb 存在的提效空间来描述 FlutterWeb 的性能背景。

然后,通过 FlutterWeb 编译流程产物,客观分析了美团 FlutterWeb 在缺失静态资源的优化策略和复杂的架构设计、编译流程方向面临的挑战。

接着,美团研发人员通过 SDK 瘦身、编译优化和加载优化三个方向设计技术方案。

其次,到了实践落地环节了,在精简 SDK 维度上,第一步,便是分析包文件优化空间,第二步,便是对 SDK 进行裁剪,二次剔除 Dead Code。第三步,便是建立长效机制,为 FlutterWeb 依赖的环境定制 Docker 镜像,集成接入 CI/CD。

在 JS 分片维度上,主要是从懒加载、Runtime Manifest 抽离和 main.dart.js 切片进行优化。

在预加载维度上,先是在 Flutter 的编译、监听、运行三个阶段进行技术方案的设计,然后通过观察效果展示与数据对比,最后确定结果正向还是反向决定是否上线。

在图标字体精简维度上,因为美团大前端业务是双端对齐的,所以需要对 FlutterWeb 进行分平台打包,剔除各自平台的无用代码,解决包体积过大问题。

为了解决字体文件过大带来的包体积问题,美团技术人员通过全量扫描 Icon,保留需要使用的 Icon。

为了论述 FlutterWeb 性能优化探索与实践观点,作者对美团的 FlutterWeb 优化收益做了一下总结与展望,其收益是降低 Web 端适配成本和完善 FlutterWeb 容灾体系。未来期望可以持续推进 FlutterWeb 的性能优化。

如果你想要写的文章观点,让读者读起来觉的条理清晰和重点突出,可以采用类似先说结论然后说内容最后总结复盘的自上向下的构建方式。

3.4 自下向上搭建⾦字塔结构

第四种是自下向上的搭建框架结构,自下向上的搭建金字塔结构很明显的特征是先说过程再说结论。如果你写的观点需要很多内容来解释过程,强烈建议你使用这种方式构建文章架构。在我们开发领域里面常见的写作场景是踩坑指南

3.4.1 Matrix 增量编译构建失败案例分析

比如:在程序员徐公 耗时一周,我解决了微信 Matrix 增量编译的 Bug,已提 PR 一文中就采用了上述的写作手法。

作者引入 Matrix 过程中,发现如果开启 trace 插件且在增编编译过程中,那么必然出现ClassNotFoundException。

第一步,查询 gradle 详细日志信息发现,NullPointerExceptionUnsupportedOperationException是增量编译出现的两个明显的error级别日志信息。进行防空判断后,没有解决此类问题,排除事故原因。

第二步,针对UnsupportedOperationException降低 ASM 版本,依然没有解决此类问题,排除 ASM 版本原因。

第三步,通过MethodTracer,判断是否是 windows 文件占用了 fd ,该异常在 Windows 会出现,但 mac 不会出现,用 try catch 处理了此问题,不过没有解决ClassNotFoundException本质问题,算是意外之喜。

第四步,zip file is empty 预测生成 jar 产物的时候,文件路径存储 map 对象里,文件路径一致,导致的内容错误。

第五步,在MethodTracerCollectJarInputTask任务执行阶段,只有输入的文件路径和目标的文件路径不一致,才去执行该任务。产物生成阶段,只有文件路径存储 map 对象里,文件路径不一致,才进行文件路径拷贝。

最后,验证后,异常问题解决了,Matrix 增量编译 Bug的本质原因就是上述第四、五步,然后表达了自己解决此类问题的方法论。这样结尾起到升华主题的作用,也是一套完整自下向上搭建金字塔结构的过程。

先设置悬念,把结论后置。这种写作手法通常适合道理简单但过程繁琐的文章。因为你一开始就讲结论,读者可能不会读完整篇文章。所以作者才一开始先说过程,最后才引出结论。

3.4.2 Java9 特性编译失败案例分析

比如:在虾哥的 一个 Java9 特性导致的编译失败 | 疑难杂症 这篇文章。如果一开始就解释遇到 Java9 编译失败这个问题的原因,然后怎么解决的?读者肯定不愿意看,直接讲结论而非引导读者去思考,是最低级的写作手法。

那虾哥是怎么做的呢?

首先,虾哥梳理了一下问题发生背景,引导式的打开话匣子,针对dexBuilderRelease任务构建失败问题,了解到了问题的 4 个痛点。

然后,根据日志信息定位到了 module-info.class 模块描述信息,结合该模块描述信息和官方文档。断定该文件是 java9 新增的模块。

接着,因为查询发现该类文件来源是其他业务组引入的 jar 文件,所以只能被迫使用Transform来操作 jar 文件从而修改字节码了。

通过Transform,把module-info的输入路径打印出来,发现真实获取到依赖关系是 Gson 库,于是尝试降低 Gson 的版本从而间接降低 JDK 版本,终于问题解决了。

最后,作者把自己做好的Transform进行了开源,大家可以关注一下,上手即用。是一套操作字节码的技术方案,因为这个方案,为 java9 引入 Bug 进行排查提供了好的思想指南。

这篇文章在掘金有超过 3k 的阅读量,在 android 细分领域算是不差的成绩,作者以先说过程再说结果的自下向上金塔结构搭建方式进行写作。

3.5 ⽆招胜有招

第五种,搭建框架的方法,叫无招胜有招。什么意思呢?技术文章看得多了,会发现有一种文章,文章看起来也没有什么套路,看不出来什么逻辑,他感觉读起来很顺。

这种文章的框架我称之为无招胜有招。文章看起来制作粗糙,行句全部使用默认字体,没有小标题,没有一张图片。看似无招,实际上是作者极强的写作功底在做支撑。

比如某橙大佬的有些文章,没有排版,没有图,没有明确的结构,什么都敢写,写完也敢发,最后还录制视频。把读者当做知心朋友,把写作功力发挥得淋漓尽致。不过,对于写作新手还是不要尝试了。

想写这种风格的文章有一个大前提,就是你在技术方面有了长期的积累,创作表达欲望非常强烈,刚好写作平台给了你表达自己的机会,于是你的专业技能像压抑了很久的喷泉一样喷涌而出。如果你能在专业方面做到这种程度,那你大可以尝试这种无招胜有招的风格。

但是你不知道的是某橙大佬其实已经讲课五六年了,然后每年读二三十本书,专业方面他积累了大量关于framework源码和ndk相关的知识。即使不去写作,他的即兴表达能力也非常强,看过他的文章,感觉被称作全网最励志的 android 仔也不为过,成功绝不是偶然。

所以如果能力没有达到某橙大佬的高度,一定要沉下心好好打磨自己的这个技巧,90% 好文章都是按照今天列举的时间顺序空间顺序或结构顺序自下向上自上向下这四种方法去写的。

四、总结

本文首先和大家分享了五种搭建文章框架的方法,五种方法每一种都有不同的特点和适用的文风。建议你在构思时多想想应该用哪种方式,写作效果才会更好。

没有明确规定说哪种方法适合哪种文章,需要多学习勤练习。看别人文章时,不能只顾着看热闹,要把自己当成内行,要把优秀文章当作文档一样精读。如果你打算学习写作,那么不能只以读者的视角读文章。需要思考好文章用了哪种技巧和结构,先通过看标题和目录预测文章内容,然后进行对比复盘

如果你能长期坚持刻意练习,那么写作能力会有质的飞跃。希望今天我免费赠送的搭建金字塔结构的方法论可以帮助你。文字创作中,如果文章框架一旦搭建了,那么文章已经成功了一半。记住要想写好文章,先把结构想清楚!

五、关于我

我是小木箱,擅长使用结构化思维、费曼学习法、PDCA、5W2H 分析法、MECE 原则、SMART 模型产品思维解决学习和工作痛点,欢迎关注我的公众号 小木箱成长营,感谢相遇,见证彼此成长。

本文由 mdnice 多平台发布

【写作能力提升】“5种搭建⽂章架构的⽅法”免费赠送!相关推荐

  1. 【写作能力提升】写作小白需要避免的五个写作误区和灵魂五问

    " [写作能力提升]系列文章: 为什么建议你一定要学会写作? 手把手教你快速搞定4个职场写作场景 5种搭建⽂章架构的⽅法"免费赠送! " 一.前言 Hello,我是小木箱 ...

  2. 前端写作能力提升之词句

    前端与写作 前端开发平时需要写文档,文档就涉及到结构.逻辑:写代码时需要注释,注释需要考虑合理性:述职晋升涉及到PPT或者文档,怎么做到条理和言之有物:如果你的代码开源还会涉及到英文文档写作:简历需要 ...

  3. 2022年宁德市职业院校教师实践教学能力提升培训——网络搭建与管理

    目录 一.2022年福建省职业院校技能大赛--中职组"网络搭建与应用"赛项规程 (一)重点考查技能 (二)竞赛内容与成绩比例 (三)主要竞赛知识点和技能点 (四)主要知识点和技能点 ...

  4. 打造爆文的8个软文营销写作技巧,提升你的文案写作能力

    软文写作是一门艺术,说起软文写作,在忽略质量的前提下任何人都能写一篇文章,但是想要从中脱颖而出,并不是每个人都能做到.今天小陌分享几个提升软文写作能力的技巧.希望对你的写作能力提升有所帮助. 1.启动 ...

  5. 怎样培养阅读和写作能力?

    学习语文的确很重要.不管在工作学习中还是在日常的人际交往中,语文程度的好不好,都影响着这方面的质量. 语文程度好不好,主要是指两个方面,一方面是阅读的能力,另一方面就是写作的能力,阅读的能力,就是别人 ...

  6. 施一公:如何提高英文的科研写作能力

    施一公:如何提高英文的科研写作能力 在国际学术期刊上发表科研论文,是科研工作者与同行交流.取得国际影响的必经之路.有些国内的科学家实验做得很漂亮,但常常苦恼于论文写作力不从心,成为国际交流的一大障碍. ...

  7. 钟汉良日记:多看电视剧也可以提升写作能力

    2022年9月10日 周六 晴天 你不得不承认,现在就是一个娱乐时代.只要你有一部手机,你打开你的手机,点击几下你就可以看到各种类型的娱乐节目.从电影电视剧,到各种综艺节目,还有各种网络上个人自导自演 ...

  8. 自媒体爆文怎么写?学会拆解优秀文章,快速提升写作能力

    很多人都觉得自媒体写作很难,尤其是对于写作功底比较差的人来说,一听到写文章就怕了.其实,自媒体写作和常规写作是有区别的.学会拆解优秀文章是快速提升写作能力的最佳方法之一.今天就通过拆解文章来给大家介绍 ...

  9. 如何提升论文写作能力?

    目前无论是本科.专科,还是硕博研究生,论文写作能力必不可少.可万事开头难,如何走好这万里长征第一步,恰恰是很多大学生的难题,本文就从提高论文写作的方法和可能会遇到的困难进行介绍,提出每个人都能用得到的 ...

最新文章

  1. 阔力梯的树(2020 CCPC Wannafly Winter Camp Day2 Div.12 )dsu on tree
  2. 从R中安装phylotaR包
  3. mysqldump 忽略视图_mysqldump的使用--解决不能导出视图的问题
  4. 1092 最好吃的月饼 (20分)_24行代码AC
  5. linux系统查看当前安装字库,linux下怎样安装中文字体?
  6. ORA-01502 state unusable错误成因和解决方法[转]
  7. 重建索引一般需要多久_游泳小白学游泳,一般需要多久才能学会?猜猜看
  8. Jenkins Gitee 实现持续集成CI/CD工具【免费、推荐】
  9. 基于JAVA+SpringMVC+Mybatis+MYSQL的心理咨询预约系统
  10. 17.如何正确使用TCP
  11. 重磅!苹果正式开源iOS内核源码!
  12. 算法(第四版) 2.1答案
  13. TCP与UDP的区别
  14. js判断数组是否为空
  15. Postman代理设置
  16. NEUQOJ 1999: 三角形or四边形?【搜索联通块/模拟】
  17. Intel的Barefoot与AMD的Pensando技术
  18. 【组合数学】二项式定理与组合恒等式 ( 二项式定理 | 三个组合恒等式 递推式 | 递推式 1 | 递推式 2 | 递推式 3 帕斯卡/杨辉三角公式 | 组合分析方法 | 递推式组合恒等式特点 )
  19. kotlin 中关键字 lateinit
  20. jsdelivr cdn npm替代方案

热门文章

  1. 最简单、最详细的重装win10系统教程
  2. nextcloud私有云搭建
  3. LInux查看文件时怎么让文件显示行号
  4. Outlook2013邮件中的链接打不开提示组织策略阻止
  5. 学生用计算机怎么发出声音,大学老师正在上课,电脑突然发出奇怪的声音,引起学生嘘声一片!...
  6. 小程序中的button按钮
  7. 又想骗我送快递?顺丰总裁王卫自掏腰包5亿元发红包,每位员工888元!
  8. [英语]职位名称中英文对照表
  9. [GN] 谷歌元构建系统GN,toolchain配置
  10. Cadence Virtuoso 文件.cdsinit 修改提示