首页 > 其他分享 >《梦断代码》读书笔记(二)

《梦断代码》读书笔记(二)

时间:2024-06-16 16:00:14浏览次数:10  
标签:兼得 读书笔记 代码 用户 梦断 程序员 产品 狗食 Chandler

这次阅读中体会最深的莫过于奇客和狗,作者通过Chandler狗、Cosmo狗以及各种狗来类比OSAF开发的项目,前面两种都是拉布拉多狮子狗,文章这样描写这两种狗,“它们是好宠物:‘和其他狗类融洽相处’”、“非常聪明,快活而友善。能快速学会不常见或特殊的技能。活跃,有时显得滑稽。如果管束不严就会戏弄主任”,这样一种“狗”似乎更像是Chandler的真实写照,如果管束不严就会戏弄主人,是啊,没有严谨的要求和恰当的决策,Chandler的开发过程才会如此的坎坷吧。

卡普尔和开发者们总是抱着改变世界的想法前进的,他希望Chandler成为一种全功能的个人信息管理器,也希望它能成为一个“可扩展开发者平台”,使得程序员可以任意扩充Chandler的功能,“能二者兼得吗?”,这也是值得我们反思的问题。

虽然理想很丰满,但是更多时候我们是没办法做到二者兼得的,既然不能二者兼得,又免不了做出选择,而这些选择总会让产品的某一发展前景被扼杀。在无法做出选择的时候,Chandler选择了替换新的产品经理,似乎这样一种改变就可以拯救Chandler的命运,但是没有考虑到,我们的主人公之一——卡普尔,仍旧秉持着“完美”的理念去做Chandler,去畅想Chandler。

文章中提到一项调查,调查显示超过四分之三的IT专业人士偏爱考虑后做决策,而只有23%的人偏爱凭感觉决策,多数程序员的共事者都了解到,敲代码的人更像是理性的独行侠,他们的行为特征被形象的比喻成轻度自闭症,而这样一个特点使得他们不懂得如何打造能完成人类用户设定目标的程序。

所以又引出了高过其他程序员的程序员不同于普通程序员的地方——交流

如果说程序员与代码之间是狗主人与狗的交流,那么程序员与用户之间更像是狗主人与邻居的交流,身为一个邻居,你要清楚邻居是否喜欢狗,是否喜欢养狗,又是否喜欢狗的某些行为,讨厌狗的某些行为,你要让你的狗尽量在邻居面前讨喜,而不是仅仅依照自己的喜好和想法来培养和训练你的狗——这是我的观点。

文章中不仅提到了狗和养狗人的概念,还出现了狗食的说法。据说很多软件公司一个不成文的规定就是,开发者必须使用自己正在做的产品,即,吃自己的狗食。现在转念一想,吃自己的狗食确实是开发中发现bug和缺陷的手段,只有亲身体验,才能对自己做出来的产品有个完整的认识,只有吃过自己做出来的狗食,才知道味道怎么样,而不是只管做,不管味道。

在我第一次的开发工作中,就没有充分考虑用户的意见和建议,产品成型后,用户给的反馈并不是很好,产品虽然没有一些明面上的bug,但是用户对于一些功能的设定并不满意,这也就导致了产品的失败。首要原因就是开发设计之初没有深入用户,如果再次开发,我会更多的询问用户的想法,从用户出发决定产品的功能。

标签:兼得,读书笔记,代码,用户,梦断,程序员,产品,狗食,Chandler
From: https://www.cnblogs.com/Zzzhy0316/p/18250717

相关文章

  • Spark Shuffle原理与代码实例讲解
    SparkShuffle原理与代码实例讲解1.背景介绍在大数据处理领域,ApacheSpark作为一种快速、通用的大规模数据处理引擎,已经成为事实上的标准。Spark能够高效地运行在Hadoop集群或独立的集群环境中,支持多种编程语言,提供了丰富的高级API,涵盖了批处理、交互式查询、实时流......
  • Spark RDD弹性分布式数据集原理与代码实例讲解
    SparkRDD弹性分布式数据集原理与代码实例讲解1.背景介绍在大数据处理领域,ApacheSpark已成为最受欢迎的框架之一。其核心组件之一是弹性分布式数据集(ResilientDistributedDataset,简称RDD)。RDD是Spark的基础抽象,提供了对大规模数据集的容错和并行处理能力。本文将......
  • 代码随想录算法训练营第六十天 | 647. 回文子串、516.最长回文子序列
    647.回文子串文字讲解:代码随想录视频讲解:动态规划,字符串性质决定了DP数组的定义|LeetCode:647.回文子串_哔哩哔哩_bilibili解题思路1.dp[i][j]     [i,j]子串是否是回文的      是则返回true,不是则返回false2.递推公式if(s[i]==s[j])   ......
  • 代码随想录算法训练营第五十九天 | 115.不同的子序列、583. 两个字符串的删除操作、72
    115.不同的子序列题目链接:代码随想录视频讲解:动态规划之子序列,为了编辑距离做铺垫|LeetCode:115.不同的子序列_哔哩哔哩_bilibili解题思路1.dp[i][j]  为在s的前i个元素(即s[0,i-1])(以i-1结尾)中,有多少个t[0,j-1]匹配(以t[j -1]为结尾)2.递推公式//如果......
  • 代码随想录算法训练营第五十八天 | 392.判断子序列
    392.判断子序列 题目链接:代码随想录视频讲解:动态规划,用相似思路解决复杂问题|LeetCode:392.判断子序列_哔哩哔哩_bilibili解题思路本题和求最长公共子序列是一样的,值就是s字符串的长度,如果一致就返回true,如果不一致就是false这题也可以看作编辑距离入门级别的题目......
  • 代码随想录算法训练营第六十二天 | 739.每日温度、496.下一个更大元素 I、503.下一个
    739.每日温度文字讲解:代码随想录视频讲解:单调栈,你该了解的,这里都讲了!LeetCode:739.每日温度_哔哩哔哩_bilibili解题思路思路一:暴力双循环O(n^2)思路二:单调栈(用来找到右边或者左边第一个比它大的元素)元素:利用一个栈来存下标i,用T[i]来做映射顺序(递增还是递减):如果是递增是......
  • 02梦断代码阅读笔记之一
    《梦断代码》一书记录的是作者罗森伯格对OSAF主持的Chandler项目进行田野调查,通过Chandler开发过程来揭示软件开发过程中一些根本性的大问题。对本书才刚刚阅读了三分之一,就已经忍不住对作者描述的开发过程所感叹,虽然刚进入软件领域不久,但是仍旧有感于这本书中的现实,对自己也很有......
  • 如何在 Visual Studio Code 中使用 Prettier 格式化代码
    简介保持代码格式的一致性是一个挑战,但现代开发工具使得可以自动在团队的代码库中保持一致性成为可能。在本文中,您将设置Prettier来自动格式化您在VisualStudioCode中的代码,也被称为VSCode。为了演示目的,这里是您将要格式化的示例代码:constname="James";co......
  • windows系统python代码打包为exe
    目录1建立虚拟环境condavenv2打包安装pyinstaller打包1建立虚拟环境好处:打包文件小,成功率高。坏处:代码使用到的第三方库需要重新安装如果不想使用虚拟环境,直接看2打包。conda如果没有conda,直接使用venv。查看虚拟环境condaenvlist创建虚拟环境condacreate......
  • 按键精灵的每隔10秒点击屏幕中央的代码
    要在按键精灵中设置每隔10秒点击屏幕中央的代码,你可以参考以下步骤和代码: 步骤确定坐标:首先,你需要确定屏幕中央大门的精确坐标。你可以使用按键精灵的“抓抓”工具来获取这些坐标。编写脚本:在按键精灵中创建一个新的脚本,并编写以下代码。代码plaintext//设置循环,每隔1......