用手机的摄像头拍照,不需要了解摄像头、闪光灯、图像处理,只需要调用一个API就可以完成拍照的任务。
使用Qt的按钮来响应用户的鼠标。您只需要连接到点击的插槽。当用户单击按钮时,您可以响应用户。
类似于这些,在我们的编程过程中每天都会发生。这就是黑箱思维:注重输入和输出,不注重中间环节,只要输入正确,输出符合预期。
同时,你写的代码一定要做一些细致的工作,比如连接别人的接口,实现自己的响应代码,让用户点击按钮时做出正确的响应,而不是没有响应。像这样:
在这个维度上,你是在做白盒工作。
当你的工作完成后,软件交付给用户使用,也是黑盒:他只关注如何使用软件完成自己的业务,而不关注你用的是C++、Java还是Node.js
而如果他关注这些,并且一直要求查看你的代码,让你告诉他一个按钮是怎么用C++代码创建的,那么你肯定会觉得这个用户打破了黑盒的边界,“脑子进水了”,扛不清重量。
同样,如果你用button来构造一个按钮,你也不会考虑如何使用它。相反,你一直拉着Qt开发者问他们Qbutton的点击信号是怎么发出来的,qss是怎么一点一点设计实现的,那么他们很可能会骂你“脑子有问题,你不做Qt SDK开发,你就知道怎么用”。
你看,黑盒和白盒在我们的开发工作中是交织在一起的,你每天都在用这两种思维工作。当你区分了黑盒思维和白盒思维,就可以顺利完成软件开发工作。而且当你把两者搞混了,黑盒是白的,白盒却懒的去找黑盒,那你就麻烦无穷了。
◇
黑盒和白盒代表软件开发中的两种边界模式。合理划界,黑盒是黑盒,白盒是白盒,这是我们通过日常开发工作养成的习惯。这种习惯可以转移到我们工作生活中与人交往的场景中。
比如你是项目经理。你把一个模块分配给一个开发人员,告诉他有什么资源可用,告诉他结果应该是什么样子。然后他有任务,他会在下一段时间自主完成任务,按时交付。
许多新的技术经理将采用白盒模式进行项目管理。他告诉开发者,登录页面对应的源代码文件名必须是login.cpp,登录按钮的响应函数名称必须是userClickedLoginButton,不可能写onLoginButtonClicked …等等。
这样开发者会觉得“不可信”、“不尊重”、“冒犯”、“代码不是自己的”等。,然后放弃该模块代码的所有权。你不想管,给你,爱,然后,接下来,他就不会对这个模块有责任感了。无论好坏,他都不会觉得这是自己的责任。他会认为是
然后,技术管理人员会越来越累,发现自己伤透了心。他们不说好话,还让大家伙们抱怨,士气低落。
其实授权模式是不正确的,错误的采用了白盒授权模式,把开发人员当成了自己的另一只手,太注重细节,发布的指令太多。但是,如果改为黑盒授权模式,情况会有很大变化。
如图,任务被开发人员认领后,技术经理就不再一个一个的问细节了,不再理会他给一个变量或者一个类起了什么名字,让开发人员自己去做。你只关注他交付的是什么节点,关注他提交的代码是否可以和别人集成,达到预期的效果。
这是黑盒的授权模式。
在这种模式下,开发人员可以用自己的方式完成任务和实现目标,有控制感,激发自主性,自动找到前进的方向,有解决困难的责任感。
◇
黑盒白盒不仅可以用在项目管理中,也可以用在生活中。
比如一个小媳妇和她老公周六中午要在家做一肉两菜一汤。小媳妇早上起来,洗了脸,敷了面膜,跟老公说去CP莲花超市逛街,跟老公说不要逛太久,最好一个小时内把东西都买好回家。
老公问买什么,媳妇说你到了给我打电话,我告诉你。我老公走了。
过了一会儿,他们开始打电话。
首先,我买了肉。媳妇说:“买黑猪肉,需要前腿,不要后退。六两个就够了。一进超市门,对。你去南门了吗?如果你去南门,进去,右转,一直走到最里面的部分——你去北门干什么?你为什么走北门?我们家的南门就在附近。你怎么了?你去北门-好的,从北门进去。如果你去北门,一旦进去,先左转——这是什么,我说一下。你明白吗?我想不出方向。别跟我说东西南北。你向左转,走到尽头,去酸奶店,向右转,然后一直往前走——比如说南北。
后来买豆芽,媳妇说:“看日期,看是不是今天,不是今天。就买昨天的,不是昨天的,不会新鲜。如果非要找今天的,但是找不到,那就找昨天的——哦,对了,豆芽有三个牌子,一个是散称的,两个是袋装的。如果没有袋子,就买散装的。
后来媳妇生气了,对着茶几上的电话大喊:“哎呀,你怎么这么笨,连豆芽和肥肉的区别都分不清——喂——喂——气死我了,你怎么敢挂我电话?”气死我了,面膜是白做的,而且是第三年——”
好吧,如果你是老公,你会觉得压抑吗?你觉得被戳了吗?你想放下电话吗?
这就是白盒法的效果,小老婆生气,老公郁闷,灰心。
你看,误用白盒,杀了老公,气死自己,不值得。如果小妻子改变主意,切换到黑盒模式,为丈夫列一个清单,如下所示:
然后告诉我老公,现在是9点45分,11点前可以到家。
然后,结果可能就变了:老公高高兴兴的去超市把单子上的东西都买了,还带回来两罐黑啤和一盒牛奶。
◇
我们再举一个孩子做作业的例子。
小学一、二年级,陪孩子做作业是对母亲的一大考验。
有一天语文老师安排看图写字的时候,我妈搬来一个小板凳坐在孩子旁边。孩子看着妈妈,没说话,小心翼翼的写着自己的。
妈妈说:“不要这样握笔,姿势不对。”
孩子又拿起了铅笔。
妈妈说:“拿一些上来,离笔尖太近了,看不到字。”
孩子,吃点。
妈妈又说:“停,停,这个字架的结构不对。只有四分之一的细胞应该站在单个的旁边,而你占了一半,”
孩子把写好的“活”字擦掉,重新写一遍。
我妈还说:“等等,这个顶格,别顶格,知道吗?我跟你说过多少次了,留点空差距,顶格不好看!擦,重写!”
……
孩子生气了:“妈妈——你一直说,烦不烦?”我写不下去了。我想不出一个词,因为我总是被你打断!你写得好,你就写!我不写了!"
妈妈回答说:“我说你是为了你好,可是你怎么了?”还不能说吗?你写的漂亮,我就说你?快,快给我写信!写不完就别睡!"
就这样,两个人把作业搞得很不愉快。
这个妈妈犯了一个错误:看图,写文字,写作文都需要专注和沉浸。她应该给孩子一个黑箱环境。不要经常干扰他,打断他。写完后让他读给你看,然后检查笔迹细节。
◇
我们说买菜,陪孩子做作业,都是说要黑盒不要白盒,但并不代表你一定要一直用黑盒,有些场景下,你一定要用白盒。
还是孩子教育的问题。
很多爸爸在孩子教育的大事上经常陷入黑箱思维,无法自拔:送去学校,老师教;送兴趣班,老师教;请私教,老师教;放在家里,带在爷爷奶奶身边;把它给你的妻子,照顾好它...
突然,孩子上五年级了,即将毕业参加初中考试。有一天,爸爸看到孩子的区考成绩单,突然很不满意:“老师怎么教你的?”你妈妈是怎么教你的?啊——老子天天忙着给你赚钱,你要什么,你给我这个考验!"
孩子的父亲骂了一顿后想到了另一个办法:“我给你补习班,每个星期天都给我,直到成绩提高。如果明年考不上重点中学,看老子怎么收拾你!”
这位父亲是否应该改变自己的思维,适度采用白箱模式,参与抚养孩子的过程?
所以黑盒和白盒思维要结合具体场景,用哪个更有利于事情往好的方向发展就用哪个。如果两者结合更好,那就一起用。
◇
那么,如何区分黑盒和白盒呢?
试着问问自己,如果你让某人找到自己完成事情的方法:
1.会如何收场?
2.他能得到什么?
3.我能得到什么?
答案往往会在你仔细思考后浮现出来。
◇
戳读原文,在JD.COM买程序员成长课程,会给你的程序生活更多的可能性。
1.《黑盒白盒 拎清黑盒白盒,告别混乱失控的生活》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《黑盒白盒 拎清黑盒白盒,告别混乱失控的生活》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/junshi/1328228.html