写作与编码

liyan

2021-04-05

一门课

[极客时间]人人都用得上的写作课

  • https://time.geekbang.org/column/intro/356
  • 副标题:让文字表达成为你的加分项
  • 讲师:涵柏(笔名),一线资深记者
  • 碎片化时代的注意力写作法
  • 8 大必备写作方法精讲
  • 60+ 对比式写作案例分析
  • 4 大常用的写作场景训练

Overview

drawing

原理篇

  • 让阅读帮到写作
    • 读什么?/ 怎么读?
  • 要能识别文章好坏
    • 行文节奏:简单即美
    • 文字表述:先要确保准确,才能推敲词藻
    • 主题刻画:鲜明与否?突出与否?# 选取切入角度
  • 写作避坑指南
    • 滥用形容词和连词 / 中文西化 / 随意堆砌段落 / 缺乏逻辑思维

方法篇

  • 宏观角度3个方法
    • 这个功能的意图:挖掘主题和明确主线
    • 文章布局:从主线开始,扩展结构,展开结构
    • 有效修改:最后的雕琢也是从宏观角度
  • 剩余的5个方法
    • 开篇制胜的开题手段
    • 把握叙事的节奏
    • 人物出场、细节打磨和遣词造句

应用篇

  • 如何快速写出一篇高质量的热点文章
  • 如何写出兼具营销性的好软文
  • 如何完成一篇个人总结或演讲稿
  • 如何用心讲好一个故事

More to Learn

写出好文章/好代码的原则

优质的输入是输出的刚需

  • 区分阅读:深度阅读和浏览
  • 提炼观点、提出问题、联想和随时记录
  • 如何阅读一份源代码?
    • 先跑起来
    • 明确自己的目的
    • 利用好测试用例
    • 厘清核心数据结构之间的关系
    • 多问自己几个问题
    • 写自己的代码阅读笔记

好的标准

  • 好文章的特征
    • 文字简单清晰 / 用词恰如其分 / 描写精准、服务主题
  • 闻一多的“三美”主张 诗歌的三美,文章亦如是
    • 建筑美
      • 文章的结构上要起承转合,均齐匀称
    • 音乐美
      • 叙事的节奏上体现出音乐的美感,读起来很流畅
    • 绘画美 🎵 细节上能调动五感,读起来有代入感
  • 代码三性:可读性/可维护性/可测试性

代码避坑指南

  • 不合理的功能拆解和接口设计
    • SRP / OCP
  • 实现时引入不必要的定义、实体或类库
    • 徒增学习成本和心智负担
  • Knuth’s optimization principle
    • 啥是过早优化?过早提高效率的行为
    • 过早优化的原因?任务没有正确的优先级排序
      • 功能完善vs性能提升 / 开发效率vs性能
      • 稳定性&可维护性vs性能
    • 怎么做
      • 优化的成本和好处,可能的负面后果是啥?
      • 不做的优点和缺点是啥,除了优化还能做啥?

写出好文章/好代码的方法

主题:你要表达什么?

  • 文档
    • 为实现一个功能,写一篇设计文档
    • 为帮助线上小伙伴运维服务,先一篇操作手册
    • 和团队小伙伴分享一个技术主题
    • 为自己写一份工作周报/个人总结
  • 代码
    • 这个函数要做什么
    • 输出的参数是什么
    • 输出的结果是什么

谋篇布局

  • 确定主线
    • 文章的真正主线不是一个词语,而是一个连贯的句子,这个句子一定能够清晰地概括整篇文章
  • 通过三段式的经典结构搭建出骨架
    • 是什么(触发点) 具体表现是什么
    • 为什么(冲突) 产生矛盾的原因是什么
    • 怎么办(解决) 新的看法或最终的结果
  • 通过时空坐标系展开骨架
    • 按照时间线开展你的写作
      • 时间跨度长/事件或者人物主角出现的场景不断变化
    • 空间或逻辑顺序

软件架构的谋篇布局

  • 系统边界在哪里
  • 核心组件有哪些
  • 它们如何交互
    • 部署图
    • 数据流图
    • 序列图

何谓有效修改?

  • 即使是很棒的初稿,完成度最高不会超过 70%
  • 从宏观角度着眼的雕琢
  • 三步修改法
    1. 从宏观上把控内容,先增后减;把控叙事距离
    2. 修改论据:论据是否得当,决定了你这篇文章是否言之有物、言之有理、言之有据
    3. 整体表述的连贯性:设置好的路标

程序员的写作

Team 内使用的文档

  • Think twice / Code Once
  • 需求分析/设计
    • 主题是什么?
    • 如何展开?

包括兄弟团队的技术分享

  • Learn-Do-Learn-Teach
  • 主题分享的展开套路
    • 在写这篇文章的时候我面临什么样的场景?我为什么要写这篇文章?通过这篇文章你能获得什么?
    • 我想解决的问题是什么?
    • 我如何解决这个问题?
    • 我编写文章时引用的资料、我推荐的阅读延伸资料、你进一步的行动指南

给协作者看的文档

  • 使用说明
    • 主题是什么?
    • 如何展开?可以参考主题分享的套路
  • 工作流程
    • 目标设定
    • 行动计划:3W3H 要素
      • What/Who/When/How/How To Measure/How Much

汇报文档

  • 给团队成员和 Leader 看的文档
  • 周报/工作总结 如何做工作汇报
    • 厘清思路:Why-What-How/5W1H/STAR
    • 汇报技巧:突出重点/简明扼要/复述要点
  • 复盘

More to Learn 2

// reveal.js plugins