现代软件工程-构建之法---第二章 练习与讨论

1、软件工程和程序设计大作业的调查

  我们现阶段学习的都是比较简单,比较容易的编程,所以完成较小的编程一般花半天时间就可以完成,程序量也不会很大,一般几十行代码就好。

  开发中会用到VC++6.0,Eclipse等编程软件工具。

  完全独立完成的同学占少数。

  程序会解决实际问题的。

  这说明在完成作业的过程中有一些同学没有真正的去独立完成作业,会有复制或者抄袭别的同学的现象出现。

2、各种编程的玩法

  由于自己对编程掌握的没有那么熟练,没有达到随手就可以编写出程序的地步,所以自己并不会有关编程的手艺

3、Coder, and Hacker 的区别:

  看到这两个词的时候去查了百度,但并没有查到词的意思,然后就按照书上的博客地址去找博客看。然后我了解到Corder和Hacker的意思都有程序员的意思,但意思并不完全相同。

Corder:

  这种类型的人单纯的只是为了工作、功课、任务而写程序,虽然职务名称叫做工程师,但是写程序对他们来说只是获取成绩、金钱的工具,写程序对他们来说枯燥无味,但为了生活,他们继续产出他们的程序码。他们喜欢简单的任务,最好是一看到就知道要怎么做,最好有开源的程序码可以直接套用。只要他们的程序可以过关,他们就开心的回家睡觉去了,一秒钟都不想再看代码。

  Coder 的工程师思维:

  Coder 因为只想把事情做到交差了事,因此他们每天的任务就是把上面说要做的事情完成,一分不多、一分不少。因此,假设管理者、PM 在 Spec、Feature 中没有把整个使用流程、步骤、使用情境全部拆解成任务,这些 Coder 是不会自动帮忙把 UX 做好的,当他们发现这个系统使用起来会有问题,他们会选择默不吭声,因为提出一个好的意见,只代表自己的工作会增加 —— 而这是让 Coder 最不开心的事情。

  在充满 Coder 的工作环境,做出来的东西就有机会充满「工程师思维」(不好用、UX 烂),因为这些东西只是一堆 Feature(Coding 任务) 的结合。要营运这样的公司必须要有很强的 PM 和设计者,能够有效管理员工、定义产品,才能让 Feature 拼凑出好的产品。

Hacker:

  这种类型的人并不是因为热爱「程序」本身而开始写程序,他们写程序是为了要达成某些目的。这些人虽然不是天生的程序高手,但是很会用别人写好的套件去兜出一些应用,当有一个好的点子时,他们第一件事不是去想:「我本身不是学这个的,我要怎么样才能找到别人来帮我做⋯⋯」他们会去找既有的资源架构,尝试做出原型 (Prototype),有时候虽然做出来虽然有点破 (像是下图右方的机器人),但他们乐在其中,并且常常不眠不休的写程序。

  Hacker 的工程师思维:

  而第二种人 (Hacker) 是最讨厌别人说他们有「工程师思维」的人,因为他们其实是普通人和第三种人 (Architect) 的混种。Hacker 知道怎么完成一样事情,但技术没有这么高超。他们重视目的和 UX,因为他们喜欢使用自己做的东西。当公司要规划一项新产品时,他们不会因为这项新产品做起来简单、轻松,工作负担轻而开心 (Coder 会)。相反,他们会因为这些东西好用、创新而兴奋不已。当有任务下来,Hacker 不会让使用的细节从眼前溜过,他们会默默的将设计不完整的地方补完。有时候他们甚至会和管理者争论,这个 Feature 到底该不该有,因为他们认为使用者不会喜欢。

猜你喜欢

转载自www.cnblogs.com/boxianxian/p/9193970.html