为了能够更好的理解WebWork中的处理机制,我拜读了几位牛人写的一本书《Java Open Source Programming With XDoclet, JUnit,WebWork, Hibernate》[1] 。几位牛人在Understanding Design and Deveopment Philosopies章节中提出了三条开发项目的principle:
1、Test First;
2、Less Is More;
3、Always Ask The Dumb Questions。
前面两点,我就不多说了,而最后一点,我却有不同的想法,因为我看到了这点之后,我开始明白公司里面为什么会出现那么多无聊而低级的问题了。
在国内的公司,或许很多项目组都很清楚一点:用户的需求是很重要的,也就是说在做项目之前要知道客户到底想要怎样的软件,想要怎样的系统,一定要避免用正确的方法去做错的事情。如何保证所做的事情是对的呢?Ask The Dumb Questions确实是一种不错的方式,毕竟用户通常都不会关注我们用了什么技术,只会关注系统是否符合了自己的要求,业务逻辑处理是否正确,运行是否速度够快,甚至界面是否漂亮啊等等。因此,在我看来所谓Dumb Questions就是能够从用户的使用角度出发,而不是从实现角度出发的问题。
在原来的公司当中,也很崇尚去提问题,但是问题本身的质量总让人觉得失望,而且问题通常都止步于一个很抽象的层次。我想Dumb Questions不等于没有经过大脑的问题吧,但是这样的问题会在项目组当中经常出现。“为什么我们要使用VB,而不是VC来做呢?”“为什么我们要使用B/S,而不是使用C/S呢?”“我们为什么要用J2EE呢?”像这样的问题,公司里面还专门给几个开发组开了会来阐明问题的答案。我想如果问我这样的问题的话,我只能说,It's none of my business.
多提问题是好的,多提一些能够统一大家对于开发的认识的问题是好的,但是那些天马行空,无中生有的问题,对项目无益的问题,还是少提为好吧。断章取义,看了几天书就来鼓吹Ask The Dumb Questions,恐怕就只能给人画虎不成反类犬的感觉了。
牛人告诉我们说,Writing software is easy;牛人也告诉我们说,Ask the dumb questions and then ask detailed questions related to the fine-grained implementation。可是我们做到了吗?
[1] 《Java Open Source Programming With XDoclet, JUnit,WebWork, Hibernate》
分享到:
相关推荐
标题 "HDL DUMB PS2工具" 指的是一种专用于PlayStation 2(PS2)的游戏管理和修改工具,其核心功能是处理HDL(High Density Load)文件。HDL文件是PS2游戏的一种存储格式,类似于其他平台的ISO或BIN文件,用于备份和...
标题中的“hdl_dumb_0.83中文修改版”暗示了这是一个针对硬件描述语言(Hardware Description Language,简称HDL)的工具,可能是仿真器、综合器或者适配器,被命名为“hdl_dumb”,并且已经升级到了0.83版本。...
dumb-init 跨框架init初始化进程,有效回收僵尸进程
dumb-opinion-master.aer.gh
`dumb-init`是一个在Python环境中使用的初始化系统,它的主要作用是为进程提供一个简单的、可靠的前台启动方式,尤其在容器环境下(如Docker)使用广泛。`dumb-init`这个名字来源于其简单、不聪明的设计,它作为一个...
官方离线安装包,亲测可用
dumb-jump, Emacs"jump to definition" 软件包 dumb 傻瓜跳转是一个Emacs软件包,支持多种编程语言,有利于。 这意味着最小--和理想的零--配置,绝对没有存储索引( 标签) 或者持久化 background 进程。 Dumb跳转至少...
`drm_mode.rar_UP_dumb_buffer`这个标题暗示我们正在讨论与DRM模式设置相关的主题,特别是关于“dumb buffer”的使用。在Linux环境下,dumb buffer是一种简单、低级别的缓冲区,用于在没有硬件加速的情况下进行帧...
《PyPI官网下载:dumb_pypi-1.7.0.tar.gz——探索Python库的安装与使用》 PyPI(Python Package Index)是Python开发者的重要资源库,它提供了无数的开源Python库供用户下载和使用。在本篇文章中,我们将深入探讨一...
哑初始化 dumb-init是一个简单的流程管理器和初始化系统,旨在在最小的容器环境(例如 )中作为PID 1运行。 它被部署为用C编写的小型静态链接二进制文件。 轻量级容器已经普及了运行单个进程或服务而无需使用诸如或...
在 Meteor 框架中,Dumb Collections 是一种特殊的集合实现,它主要用于处理客户端的数据管理。这个"**dumb-collections-demo**"项目是 Meteor 开发者为了展示如何使用 Dumb Collections 而创建的一个演示应用。让...
DUMB使用流,因此它应该能够处理大于4GB的文件,我的i5-3230M达到50MiB / s,并且无论文件大小如何,使用的内存都不超过2.3MB。我莫名其妙地陷入了台式机的困境,我该如何摆脱困境? 如果可见“加密”窗口,请在进度...
SQL注入(SQL Injection)是网络安全领域中常见的一种漏洞利用方式,攻击者通过在应用程序中插入恶意的SQL语句,从而达到非法操作数据库的目的。SQLi Labs是一个专为学习和练习SQL注入技术而设计的在线平台,它提供...
玩以Dumb Ways Die为特色的迷你游戏.Dumb Ways to Die是一个全球品牌,拥有超过3亿羽绒服 玩迷你游戏,其中包含从“笨蛋之路”到“死亡”的角色。 Dumb Ways to Die是一个全球性品牌,在Apple App Store和Google ...
dumb_theory-e9d4d8aa6fbca06b.tar.xz
dumb-init-1.1.3-17.el7.x86_64.rpm
Dumb Jump是Emacs的“跳转到定义”软件包,支持40多种支持“正常工作”的编程语言。 这意味着最小的配置,最好是零配置,绝对没有存储索引(TAGS)或持久的后台进程。 Dumb Jump至少需要GNU Emacs 24.3 。 这个怎么...
很抱歉,但根据您给出的信息,标题"**dumb-shit**"和描述"**dumb-shit**"并没有提供任何具体的IT知识点。通常,一个有意义的标题或描述应该包含有关编程语言、技术框架、操作系统、数据库、网络、软件开发等IT领域的...
"angular-dumb" 是一个特定于 Angular 的扩展,它提供了一组被称为“哑指令”(Dumb Directive)的组件,旨在帮助开发者更好地实现 Flux 应用程序的设计原则。Flux 是 Facebook 推出的一种用于管理应用状态和数据流...