`
alang
  • 浏览: 135733 次
  • 性别: Icon_minigender_1
  • 来自: 地球
文章分类
社区版块
存档分类
最新评论

改变你能改变的,接受你不能改变的

阅读更多

来自:多研究些问题,少谈些“主义”–驳Ruby无用论

“改变你能改变的,接受你不能改变的”。人月神话告诉我们软件开发没有银弹:因为软件的内在复杂性是现实世界复杂性的映射。现实复杂性归咎于客观世界,属于上帝,所以软件的内在复杂性不可消灭。但是它又告诉我们,软件开发中充斥着“次要复杂性”,也就是人为引入的复杂性,这种复杂性是可以消灭的,并且Brooks也很高兴的发现面向对象技术的发展对降低次要复杂性功不可没。这种次要复杂性表现在哪里呢?比如hibernate的hbm 文件,struts的formbean,Java匿名类的恶心语法。

Godlikeme的观点我很同意:现实复杂性是项目的最大障碍。可是如果现实复杂性的客观世界本身的复杂性的话,那不正就是客户的业务问题么,与其说是障碍,不如说是目标。这个Cost是无论如何不能消灭的,也就是“接受你不能改变的”。

可是实际项目中,除了现实复杂性,还有一些我们能够克服的次要复杂性。更少的代码量,更快的部署时间,自动化的单元测试和验收测试都是解决次要复杂性有力手段。

Godlikeme也承认ruby开发效率要快一些,但又说这是微乎其微的,“以至于”用不用ruby都一样。这是典型的否认定量 分析问题的手段。既然ror能够提升效率,哪怕只是一点点,有什么理由不接受呢?莫以善小而不为啊!假设我有和你一样解决业务问题的能力,那么我使用一套高效的开发工具,就会用较低的成本打败你,事情就这么简单。

多研究些问题,少谈些“主义”。以定量的手段降低项目成本是一个开发者的基本素质。

工具之所以重要,是因为他所代来的效率的提高几乎是无代价的!如果你掌握了他的话。从这场口水战中我发现,ruby这一方大多数掌握了ROR和java,而java这一方却不是。

何况ROR提高的效率真的是微乎其微么?

分享到:
评论

相关推荐

    VC对话框运行后不能改变大小的问题收藏

    针对"VC对话框运行后不能改变大小"的问题,解决方法分为两个关键步骤: 第一步,修改对话框的初始化代码: 在对话框类的 OnInitDialog() 函数中,我们需要添加一行代码来修改对话框的样式,使其具备可调整大小的...

    职场第一课,接受有的时候比改变更难,你认为呢?.pdf

    "接受有的时候比改变更难"这句话揭示了一个深刻的道理:在面对不如意的情况时,首要任务是接纳现状,而不是盲目地试图改变。这是因为,没有理解和接受,任何改变都可能只是表面的妥协,而非真心的投入。 当我们遇到...

    中考语文满分作文当学会接受和改变的时候

    这篇文章主要探讨了如何面对失败和接受改变的重要性,特别是在个人成长和成功中的关键作用。以下是相关的知识点: 1. **面对失败的态度**:文章强调了两种对待失败的不同态度,悲观者选择叹息,而乐观者则微笑接受...

    安卓textView相关-代码动态改变某些textview文本颜色及其大小的方式.rar

    在Android开发中,TextView是用于显示单行或多行文本的视图组件,它在用户界面...同时,了解如何使用SpannableString和Spanned对象能让你的文本更具表现力。在使用提供的代码片段时,记得结合实际情况进行适配和调试。

    可以改变皮肤并能接受键盘输入的计算器(java)

    一个可以改变皮肤的计算器(java) 可以接受键盘输入。。。。。。。

    Android 点击TextView 改变背景色

    在Android开发中,改变TextView的背景色是常见的交互设计需求,尤其在用户界面设计中,通过点击事件来改变TextView的状态可以提升用户体验。本教程将详细讲解如何实现Android中点击TextView时改变其背景颜色。 首先...

    QTabWidget 改变Tarbar文字方向

    在`hostPcSimulator`项目中,如果你需要将这些改变应用到模拟器的界面设计上,你需要确保在相应的地方调用了上述方法,并根据项目的具体需求进行调整。同时,记得在修改UI元素时,要考虑到用户的使用习惯和界面的...

    C#实现子窗体改变主窗体同时改变功能

    创建一个新的委托类型,例如`ChangeTitleEventHandler`,它接受适当的参数,如新标题。 ```csharp public delegate void ChangeTitleEventHandler(string newTitle); ``` 2. **创建事件**: 在子窗体类中,定义...

    动态改变FastReport内的Memo内容 Delphi

    在`uses`部分添加`frxReport`,确保你能访问FastReport的功能。 2. **创建Report**:在你的代码中创建一个`TfrxReport`对象,例如`Report1`。这将作为你的FastReport的实例。 3. **设计Report**:使用FastReport的...

    VB中如何改变鼠标的指针形状

    这两个属性都可接受上述的常量值。例如,将鼠标指针设置为沙漏形状的代码如下: ```vb Cursor = vbHourglass ' 或 MousePointer = vbHourglass ``` 3. **使用自定义图标**: 如果需要使用自定义的图标作为...

    如何在WinCC运行系统中通过脚本来改变对象颜色(背景、边框、文本)?.docx

    ### 如何在WinCC运行系统中通过脚本来改变对象颜色(背景、边框、文本) 在工业自动化领域,WinCC(Windows Control Center)是西门子公司开发的一款强大的人机交互界面(HMI)软件,广泛应用于工厂自动化和过程...

    改变使你成为最大的赢家.doc

    选择成功意味着接受挑战,坚持到底就能成功。 5. **做人与做事**:在做事业之前先要做好人,遵循道德准则,如孔子的“己所不欲,勿施于人”。要以爱心对待他人,并且不要试图强制改变别人,而是通过自身改变来影响...

    高中生励志作文:把握人生,改变命运.docx

    他不相信自己的人生只能按照既定的道路前行,而是选择勇敢追求自己的理想,这种勇气和决心是改变命运的驱动力。 4. 努力与机遇的结合:电影《20xx》中的故事表明,尽管有些事情可能是预定的,但通过努力,人们可以...

    C# 自由改变控件大小

    你可以直接修改控件的Size属性来改变其大小。 - `Width`和`Height`属性:分别代表控件的宽度和高度,可以单独调整。 2. **事件处理**: - `Resize`事件:当控件的大小发生改变时,会触发这个事件。你可以在此事件...

    c程序 运行改变颜色

    以下是从标题“c程序运行改变颜色”、描述“想让你的程序变得更漂亮吗?这里就是你最好的选择。”以及提供的代码片段中提炼出的相关知识点。 ### 知识点一:C语言中的控制台颜色更改 #### 1.1 使用`...

    【C++经典小程序源代码】改变鼠标光标的形状

    首先,C++本身并不直接支持图形界面或鼠标光标的管理,但可以通过Windows API(Application Programming Interface)来实现这些功能。Windows API提供了大量的函数,可以让我们控制窗口、处理消息以及更改系统资源,...

    改变自己的100种方法

    10. **实践与智慧**:能说不能做不是真智慧,实际行动比空谈更重要。 11. **倾听与思考**:多听少说,深思熟虑后再表达,可以避免不必要的冲突。 12. **人生观**:世间没有绝对的圆满,适应圆滑,但要保持对生活的...

    C# Unity 获取窗口状态 改变窗口状态

    首先,我们需要了解Unity中的`Window`类,它并不直接提供获取或设置窗口状态的方法。为了实现这些功能,我们通常需要借助于Windows API(应用程序接口)。Windows API提供了丰富的函数,允许程序直接与操作系统进行...

    VC 改变标题栏颜色实例

    它接受一个透明度参数,范围是0(完全不透明)到255(完全透明)。 4. **重绘菜单栏** 在改变了标题栏颜色后,应调用`DrawMenuBar`以更新菜单栏的显示。这一步确保菜单栏的颜色与标题栏一致。 ```cpp ...

    初中语文文摘情感爱情不会改变对方

    最终,你可能会选择改变自己对这个问题的看法,学会接受对方的不完美,从而实现内心的宽恕和释然,这对个人的心理健康和关系的和谐至关重要。 总结来说,初中语文文摘中提到的“爱情不会改变对方”,提醒我们尊重...

Global site tag (gtag.js) - Google Analytics