函数与管理

前言

    有一段时间了,大概两年前,写过几篇关于如何学习的博客:《断章取义》、《囫囵吞枣》、《盲人摸象》……,现在总结一下,当时我想说的核心就是:知识关联生活,学以致用。

    想想,当初为什么着重强调这点,这是因为当时刚刚进入思想*阶段,开放大脑充分去思考生活,发现了一个很滑稽的现象:相当多的人都在强调学以致用,但是基本上在自说自话;且不自知。

所见

    已所不欲勿施于人

    大概一年多以前,有人跟我说他弟弟在上初中,特别不想学习,总是找各种理由不去上课,总说不想上学,接着跟我说他就想不明白了,大家都支持他学习,其它所有的事都不让他操心,为什么就不想学了?

    我反问:你前一段时间不是在学xx么?为什么不学了?
    他回答:噢,那个阿,感觉没什么兴趣,学出来也没什么用,所以断断续续的学了几次就不学了。
    我说:你弟弟也是这么想的。

    小学几年级学的我忘了,但是句子记得很清楚:“己所不欲,勿施于人”。没有无用的知识,只是没用到是处

    人不知而不愠

    小学老师还教育我们:“人不知而不愠,不亦君子乎?”当时还小,摇头晃脑地背的很开心,所以记得也很清楚,但是这么多年过去了,当有人说:“xx阿,我知道,这个人不怎么样,上次还……”,这话传到耳朵里,哥确定还是会心里骂娘的,终究还不是君子。

    磨刀不误砍柴工

    这高中的同学、大学的同学,还是有很多知道我在学习的,早点的,大概一年以前已经开始工作了,我还在学,所以经常碰到很多人或善意或其它地说:“差不多就行了”、“学那么多有什么用”、“这可真是活到老学到老”、“来,儿子,叫叔叔”。

    只是觉得,身体瘦弱,再没有一把锋利点的斧,如何砍够烧的柴

    结

    前面说的名言都知道,但是真正让一个人去花时间花精力去实践的时候,鲜明的对比就会出来,不少人都是思想的巨人,确切的说应该说是“词库”的巨人,却仍然是行动的矮子

    说了不少,重点还是前面说的“学以致用”,践行才是对知识最好的尊重

引入

    现在说主题,以计算机学习为例,我自认为“学以致用”这一点我做的还是不错的,基本上学的每个知识点,我都会尽量去想如何和生活结合起来,会在哪里,如何使用,如何和前面的知识关联,最好能在脑子里画一张3D图片。但是……

    函数

    身为IT者,这是再平常不过的定义了,它的重要性也不用多说,所以基本上每次导师重新分组带人,我都会强调它的重要性,然后自认为较深刻解释它。

    但是很可惜,前面说到的“学以致用,知识关联生活”,在函数这没有做好。

    一起来重新审视函数,先来看一下函数的几个要素:函数名、返回值、参数;函数总得有实现(勿较真);另外,一个函数写出来不被使用,可以说它是无用的。所以在我看来,调用也是函数的一个要素,权当做是5个要素:函数名、返回值、参数、实现、调用者

    写一个最简单的调用:

public class Employer
{
	Employee employee=new Employee();
	public String getMsg()
	{	
		String task="a order";
		String result=employee.getResult(task);
		return "a processed ruslt";
	}
}

 class Employee
{
	public String getResult(String task)
	{
		/***
		省略具体代码
		***/
		return "a result";
	}
}

    画个图就是:

    函数与管理

    你不觉得这就是两个人在说话么,抽象一下,函数就是一个交流对话模型,以开发为例,并不是有多少技术难点,而是规划和交流的问题。

    交流方式

    举一个无参数无返回值的例子:

  • 组长说:“我这有个任务,你去做一下”。没给说明,没给限制,(无参数)。
  • 组员想:那我就做吧,做什么样是什么样,反正组长也没要求什么,(无返回值)。
   于是情况就成了组员不知道组长要什么,组长不知道组员会给什么,开发中的问题也没有及时上报,开发可想而知。上面的情况比较极端,现实情况可能是:组长给了任务,也给了说明。

  • 组长想:这么明确的说明,任务这么简单,能完成不了?
  • 组员想:按照组长的说明,嗯,我完成了。
  • 没了
    怎么能没了?每个人的理解都不一样,组长和组员的理解必定有差异,组员做的是项目要的么?怎么解决这个问题,答案:检查一遍。

    前面说的可能模糊些,在这里明确一下:

  • 组长下发任务,必须清楚明确,可度量;
  • 组员给的反馈也要明确:完成的情况、出现的问题、使用工时;
  • 组长验收组员的任务;

    以上四个缺一不可,组长和组员的交流要形成闭环,在开发管理上面,不能有“无参数或无返回值”的任务,验收不是不信任,而是统一组长和组员对任务的理解。

    管理

    有人会问,你前面铺垫、啰嗦了这么多,就是为了说明这个小事?说了这么多就是为了说明组员和组长的要好好、合适的交流?这不就是交流的问题么,毛的管理。

    如果你这么理解,那让你失望了,长篇累牍就是为了说明这个“小事”。以前都是画横向的时序图,现在咱们换个纵向角度看多层函数调用:

    函数与管理

    看着像不像一张组织管理图?

    两层函数之间意味着是两个人的交流,这样的多层函数,意味着的就不仅仅是交流的问题。对这样的项目组而言,最重要的是如何去管理。

总结

    理解的稍显抽象,总结来自于最近带的项目,工期延时,稍后会再做分析。

    每个知识后面都有一片天,不是学的不够,而是用的不够。





函数与管理

上一篇:.NET Core 3 WPF MVVM框架 Prism系列之数据绑定


下一篇:【WPF学习】第六十三章 理解WPF中的自定义元素