《代码之外的功夫:程序员精进之路》5~8章读书笔记

第6章 认清现实瑕疵,改善数据建模

背景:你在通往大师的道路上继续前行。你可以指出公司遗留系统的弱点,并设计合适的组件进行替换,既使商业效果得到优化,又使工作流程更加友好。

6.1 分清概念建模和物理建模

在数据源混乱的系统中,一般最好保留一定的灵活性,不要在模型的物理层强加太多结构。

6.2 明确设计模型,追踪数据变化

事件溯源模式(更多参考)将独立事件建模为不变的数据。这些数据代表不变的事实。通过遍历事件序列并计算结果,可以看到系统当前的状态。

康威定律:设计系统的组织,其产生的设计和架构等价于组织间的沟通结构。如果你的系统设计或者架构不支持,那么你就无法成功建立一个有效的组织;作为系统架构师,一定要深入领会康威定律,设计系统架构之前,先看清组织结构,也要看组织文化(民主合作式,集权式,丛林法则式,人才密度),再根据情况调整系统架构或者组织架构。(更多架构和康威定律的论述参看这里

本章小结

  • 保留数据的原始格式,不要试图立即将其转换为与概念一一对应的结构。你当然可以把原始数据处理成任何格式,但从复杂模型中提取与原始数据相同的信息,会带来不必要的麻烦。

  • 在开发数据模型时,仔细考虑数据将被如何表示、查询和修改。在实践中,很少有项目只需要针对数据进行创建、读取、更新和删除等简单操作,因此一定要量体裁衣。

  • 要把预览、备注、批准、审查和撤销事务性数据变更等操作设计得简单易行。要做到这一点,需要另外写代码,而不是依赖于预建的库。另外,在数据模型中采用事件溯源模式可以简化工作。(书中的实例是员工打卡系统)

  • 数据管理工作流的设计要尊重和支持软件使用者的组织文化。若在设计时不考虑康威定律,系统很可能会被成千上万种使用方法压得不堪重负,最终崩溃。

第7章 逐渐改善流程,合理安排时间

背景:你对整个软件行业都已经足够熟悉。无论组织的哪个层级出现问题,你都能发现并修复。你的核心竞争力仍然是软件开发,但足够丰富的经验使你能很好地与各个层级的人员进行交流。

7.3 注意权衡工作的经济效益

帕累托法则:很多情况下,20%的投入就会有80%的产出。

7.4 限制积压工作,力求减少浪费

突破工作过程中的一个瓶颈,很自然地会让人看到另一个瓶颈。这是进步的标志。

未上线的代码不是资产,而是存货。而且,这些存货还容易腐坏,并具有持有成本。

若想跟上进度,要么放慢发布节奏,并且减少开发工作,要么加速反馈环。我认为将三者结合可以达到最佳效果。

7.5 力求整体大于部分之和

“玫瑰、花蕾和荆棘”的形式总结:“玫瑰”代表发生的好事,“花蕾”代表大有希望的事,而“荆棘”代表遇到的痛点。

海盗指标(更多参考):(AARRR metrics, AARRR分别代表Acquisition、Activation、Retention、Revenue和Referral,即获取、激活、留存、收入和推荐),这些指标对任何公司都至关重要。

要足够了解周围每个人都在做什么,以便了解自己的工作是否符合大局。比如,每周让一位开发人员抽出一天时间解决客户支持团队认为值得处理的“小问题”。每周轮换,让所有开发人员都有机会处理客户的问题,从中获得经验。

本章小结

  • 在处理系统级故障时,要根据需要停用或降级一些特性,使软件尽快回到可用状态。一旦压力得以缓解,便可以开始认真修复发生故障的部分。
  • 寻找过度耗费时间的部分,用合理的安排加以限制,这样就可以省下时间进行其他工作。做决策不能只靠直觉,要使用“毛估”计算法,将经济因素也考虑进去。
  • 谨记未上线的代码不是资产,而是存货。存货容易腐坏,并且具有持有成本。要帮助项目中的每个工作人员理解这一点。做法是让他们集中精力在给定的时间段内交付有价值的工作,而不是让团队中的每个人都为了忙碌而忙碌。
  • 与分工不同的人合作时,试着用对方能理解的方式进行交流。从旁观者的角度看待问题,并思考:“这件事与正在和我交谈的人有关吗?这件事对整个项目有何影响?”

本章的案例问题及解决方式值得反复研读。

第8章 认清行业未来,再议软件开发

在不久的将来,“程序员是用技术解决人类社会常见问题的人”这一观点可能成为行业标准。

程序设计中最有趣的一直是解决问题、沟通等“以人为本”的方面;代码只是我能找到的解决问题最有力的工具而已。

站在足够高的层次与计算机交流,只需要关注如何解决问题,而不是纠结于代码编写中的细枝末节。

如果你想保持头脑清醒、不忘记问题背景,就需要一遍又一遍地问:“等等,我想解决什么问题来着?”

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,277评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,689评论 3 393
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,624评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,356评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,402评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,292评论 1 301
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,135评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,992评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,429评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,636评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,785评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,492评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,092评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,723评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,858评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,891评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,713评论 2 354

推荐阅读更多精彩内容