One take,是几年之前看综艺节目听林志炫提到的一个词,就是说录制一首歌曲一次性完成,无需后期的各种修音。这个概念听起来就很酷,对不对?

  作为一个程序员,我经常也希望能够One take:一次性把事情做好,不用反复。但逐渐发现,追求One take是很难的。

  本文地址:https://www.cnblogs.com/xybaby/p/9607331.html

关于读书

  坦白的说,我看书不多,不管是技术书籍还是人文。除了本身不够热爱、不能坚持的主因,忙碌是不可忽视的客观原因,现在大家都提倡碎片化阅读,这对于非技术书籍还行得通,但对于技术书籍,尤其是自己不是很擅长的领域,还是需要大块集中的时间去阅读。

  因为花在阅读上的时间少,我就特别希望One take:一本书读一遍就基本掌握,至少掌握我所感兴趣的部分。但事实上,基本是不行的,读完一遍之后经常是一遍空白,究其原因:(1)年纪大了,记性变差,这是自然规律;(2)碎片化阅读,捡了芝麻丢了西瓜,缺少连贯性;(3)也许阅读本来就不是一件能一蹴而就的事情。

  那么我也在继续努力,试图最高效的阅读一本技术书籍。我自己目前的阅读大约是这样的:首先看前言(Preface),看看这本书想要讲得是什么,重点在哪里;第一遍通读全文,做好笔记,包括写得好的地方以及暂时不明白的地方;第二遍,结合书籍的目录和笔记,以及每一章的总结(summary),回顾整本书的内容,有一个全面的掌握,梳理内在逻辑关系。第三遍:整理成读书笔记或者思维导图,以便之后检阅。

  当然,实际情况是,之后用到的时候,还得去查看原文(毕竟原文比笔记详细)。

  书读百遍,其义自见,古人诚不欺我。在阅读(精读)这件事情上,似乎并没有什么捷径,想要One take,太难。

关于需求

  程序员与产品经理之间不可调和的矛盾,是大家津津乐道的话题。

  作为程序员,自然经常会骂:PM傻逼,啥都不懂瞎指挥,鄙视!当然,PM也在骂:程序搓逼,这都实现不了,鄙视!

  要和谐相处,其实需要双方的努力,尤其是在知识背景差异很大的情况下顺畅地沟通,以达到共识。不过,在这里,仅从程序员的角度出发,讨论PM改需求的问题。

  让程序(或者还有UI、美术)最为头疼的事情,就是PM改需求。对于改需求,程序自然是深恶痛绝的。不过,这不就是追求One take吗?希望策划的需求一次性确定,程序实现之后就不要再改动了,这是最好的、最理想的状态,一气呵成,不过现实基本都不是这样的。

  对于PM,当他有一个idea的时候,仅凭脑补是很难验证的,这个时候就得需要程序帮忙实现一个原型,帮助去验证、完善想法。在《你的灯亮着吗》里面提到,无论表面上表现得如何,在你提供他们所要求的东西之前,他们极少知道自己想要什么。即使在需求实现之后,在老板的要求下、在与其他同事的交流中、在用户的实际体验反馈后,都会发现一些需要完善、调整的地方,这个时候就会有需求的改动。换个角度思考,一个功能、产品实现出来之后,如没有任何进一步的迭代需求,那么多半是没有用户使用。因此,不是说PM不想一次性搞定,而是根本就做不到。

  在《怎样才算得上合格的程序员》一文中也提到,一个合格的程序员需要在业务的角度去思考、讨论需求,既能帮助自己和PM搞清楚真正需要解决的问题,又能为之后可能的需求变化做一定的准备。

  另外,对于程序写代码这件事情,也是不存在One take的。因为不能一次做好,才会有重构、才会有敏捷开发、才会有大牛说“好的架构不是设计出来的,而是演化而来的”。只不过,重构这个事情,是由程序员自身去驱动的,在程序员看来觉得是合理的、值得投入的;但是在PM上看来,也可能会觉得是浪费时间。而该需求这件事,在程序看来可能是浪费时间,但对于项目、对于业务来说是值得的。

  有的时候,我们应该反思,自己是否“严以律人,宽以待己”了。  

  也许,当明白,提需求--实现需求不大可能One Take之后,可以互相体谅吧

One take,可望而不可即的更多相关文章

  1. 基于综合服务平台浅谈Sass应用

    一.       前言 CSS不是一种编程语言,只是单纯的一行行的描述,没有逻辑没有变量,因此写CSS对于习惯于运用逻辑思维编码的程序员来说是一件很头疼的事.于是勤奋的程序员就开始运转他们敏捷的大脑, ...

  2. 科幻小说《霜与火》 by 雷·布雷德伯里

    漫漫长夜中,西姆出世了,躺在山洞冰凉的石头上,嗷嗷大哭,浑身血液奔流,脉搏每分钟一千跳.他不停地长大.妈妈用发烫的双手喂西姆吃东西.人生的梦魔开场了.一来到世间,他的眼睛就闪烁着警觉的光芒:而后又令人 ...

  3. Spring Ioc源码分析系列--Ioc容器BeanFactoryPostProcessor后置处理器分析

    Spring Ioc源码分析系列--Ioc容器BeanFactoryPostProcessor后置处理器分析 前言 上一篇文章Spring Ioc源码分析系列--Ioc源码入口分析已经介绍到Ioc容器 ...

  4. Java 为值传递而不是引用传递

    ——reference Java is Pass by Value and Not Pass by Reference 其实这个问题是一个非常初级的问题,相关的概念初学者早已掌握,但是时间长了还是容易 ...

  5. 【热文】 为什么很多硅谷工程师偏爱 OS X,而不是 Linux 或 Windows?

    校对:伯乐在线 - 黄利民 链接: 1. Why do most of the developers in Silicon Valley prefer OS X over Linux or Windo ...

  6. 1.2 - C#语言习惯 - 用运行时常量readonly而不是编译期常量const

    C#中有两种类型的常量:编译期常量和运行时常量.二者有着截然不同的行为,使用不当将会带来性能上或正确性上的问题. 这两个问题最好都不要发生,不过若难以同时避免的话,那么一个略微慢一些但能保证正确的程序 ...

  7. Ubuntu 16.04 LAMP server 指南 - 配置 Apache2.4,PHP7,和MariaDB(而不是MySQL)

    翻译自:https://www.howtoforge.com/tutorial/install-apache-with-php-and-mysql-on-ubuntu-16-04-lamp/ 昨天在虚 ...

  8. 扩展BindingList,防止增加、删除项时自动更新界面而不出现“跨线程操作界面控件 corss thread operation”异常

    在做界面程序时,常常需要一些数据类,界面元素通过绑定等方式显示出数据,然而由于UI线程不是线程安全的,一般都需要通过Invoke等方式来调用界面控件.但对于数据绑定bindingList而言,没法响应 ...

  9. 为什么使用Binder而不是其他IPC机制

    本文搬运自:Advantages of using Binder for IPC in Android 使用Binder而不是其他(Semaphores , Message Queue, PIPES) ...

随机推荐

  1. C#线程安全使用(二)

    刚才想了半天文章应该起什么名字,最后决定起名为<线程安全使用>,线程安全这个词很难理解,感觉就像托管这词一样,但是托管翻译成英文是managed,我通常把他翻译成被管理,这样就好理解多了, ...

  2. 阿里云—Gartner 2018 亚太区WAF魔力象限唯一云WAF提供商

    近日,Gartner发布亚太区2018年度Web应用防火墙(简称“WAF”)魔力象限报告,阿里云WAF凭借成熟的产品能力和完善的服务体系成功入围,且是唯一一家进入该魔力象限的云WAF提供商. 报告指出 ...

  3. SpringBoot基础系列-SpringBoot配置

    原创作品,可以转载,但是请标注出处地址:https://www.cnblogs.com/V1haoge/p/9990680.html SpringBoot基础系列-SpringBoot配置 概述 属性 ...

  4. 冒泡排序/选择排序/插入排序(c#)

    ---恢复内容开始--- 每次看这些排序都像没见过一样,完全理解不了,可是不久前明明了解的十分透彻.记下来记下来记下来! 1>>>冒泡排序:相邻的两两相比 把大的(或者小的)放后边, ...

  5. Java开发笔记(十四)几种运算符的优先级顺序

    到目前为止,我们已经学习了Java语言的好几种运算符,包括算术运算符.赋值运算符.逻辑运算符.关系运算符等基础运算符,并且在书写赋值语句时都没添加圆括号,显然是默认了先完成算术.逻辑.关系等运算,最后 ...

  6. js知识点总结

    组成 ECMAscript 基础语法     变量 数据类型 运算符 数组 函数 对象BOM 浏览器对象模型     window对象(获取浏览器宽高)     history对象     locat ...

  7. jquery获取内容和属性的方法

    通过jquery如何捕获文本内容和属性? text(),html(),val()及attr(). attr()更具有普遍性,元素text属性和表单value属性,可以通过attr()操作. <! ...

  8. Android studio,第一个生成,调用成功的jni(说多了都是泪)

    0x01 序言: 泪从何处说起呢?其实很早以前就用过android studio写过c++,但是,但是一直没有成功生成过so文件,所以心中一直有一个纠结...为什么不成功呢... 直到今天,由于工作的 ...

  9. Windows应急响应常识

    Windows 应急响应 常见事件ID 1102 清理审计日志 4624 账号登陆成功 4625 账号登陆失败 4672 授予特殊权限 4720 创建用户 4726 删除用户 4728 将成员添加到启 ...

  10. SQLServer的三种Recovery Model

    SQL Server恢复模式的三种类型的比较 此文章主要向大家讲述的是SQL Server恢复模式,我们主要介绍的是三种恢复模式,其中包括简单SQL Server数据库的恢复模式.完整恢复模式与大容量 ...