`
王者之剑
  • 浏览: 196719 次
  • 性别: Icon_minigender_1
  • 来自: 湖北
社区版块
存档分类
最新评论

编程的首要原则——不要把简单的事情搞得N复杂

阅读更多

不要把简单的事情搞得N复杂,这应该算是我编程的首要原则。

 

具体一点讲,程序简洁易懂是第一位的,尽量消除重复代码是第二位,容易定位错误排第三,模式什么的只能往后排。

 

和云风大侠的原则差不多。

http://blog.codingnow.com/2009/03/aiaeeoooo.html

 

云风说到的:最近两年我对同事说的最多的几句话,“弄清你的问题是什么”,“你不一定需要解决这个问题” 。

 

我在csdn上回答问题赚积分的时候也说过类似的话,今天在javaeye也看到了一个要通过xml取一万条数据的贴子。

 

正好看到云风的这篇博客,太及时了,与诸位共勉。

 

 

 

 

6
2
分享到:
评论
10 楼 axgle 2009-12-05  
王者之剑 写道
xie_ling_yun 写道

把简单的事情搞复杂很简单,把复杂的事情搞简单很复杂想写个简洁的代码就得比写个复杂的代码多动很多脑子

太复杂了

所以,还是简单点好啊
9 楼 王者之剑 2009-04-11  
xie_ling_yun 写道

把简单的事情搞复杂很简单,把复杂的事情搞简单很复杂想写个简洁的代码就得比写个复杂的代码多动很多脑子

太复杂了
8 楼 xie_ling_yun 2009-04-11  
把简单的事情搞复杂很简单,把复杂的事情搞简单很复杂
想写个简洁的代码就得比写个复杂的代码多动很多脑子
7 楼 王者之剑 2009-04-11  
softcat 写道

都是废话,能简单,谁愿意复杂,问题是世界就是复杂的,而不是简单.

太深奥了
6 楼 night_stalker 2009-04-10  
数学就是研究怎样才能少算的学问。编程也差不多。
5 楼 zozoh 2009-04-10  
说的对,所谓程序员的设计能力,就是把复杂的事情简单话的能力。解决一个问题最好的方法就是尝试的不制造它
4 楼 softcat 2009-04-10  
都是废话,能简单,谁愿意复杂,问题是世界就是复杂的,而不是简单.
3 楼 王者之剑 2009-04-10  
魔力猫咪 写道

但要注意是否真的解决了问题,而不是表面解决引发新问题。
比如你和某人起了争执,简单解决的方法之一就是揍他一顿。但是这个问题实际上解决了吗?也许解决了,但是却引起了新问题。小心被人家揍回来。
软件开发上同样。简单也是有前提的。比如是否遵循了开闭原则,做到了高内聚松耦合?会引发维护困难?
拷贝粘贴是简单了,事后维护可怎么办呀!拿数据库当Excel用,你插入查询是简单了,可这么多冗余数据我怎么维护呀!
有这么句话叫“简约而不简单”。看起来很容易,但是就是别人做出来,自己做不出来。
我们在提出所谓的“简单”方法前,请先想想,是不是真简单了???

后记:最近遇到一个简单的家伙,为了所谓的简单,什么业务模型、数据冗余、可维护都不要了。

谢谢参与,但我说的是“简洁易懂”,和你说的好像不是一回事。
2 楼 魔力猫咪 2009-04-10  
但要注意是否真的解决了问题,而不是表面解决引发新问题。
比如你和某人起了争执,简单解决的方法之一就是揍他一顿。但是这个问题实际上解决了吗?也许解决了,但是却引起了新问题。小心被人家揍回来。
软件开发上同样。简单也是有前提的。比如是否遵循了开闭原则,做到了高内聚松耦合?会引发维护困难?
拷贝粘贴是简单了,事后维护可怎么办呀!拿数据库当Excel用,你插入查询是简单了,可这么多冗余数据我怎么维护呀!
有这么句话叫“简约而不简单”。看起来很容易,但是就是别人做出来,自己做不出来。
我们在提出所谓的“简单”方法前,请先想想,是不是真简单了???

后记:最近遇到一个简单的家伙,为了所谓的简单,什么业务模型、数据冗余、可维护都不要了。
1 楼 zhongw 2009-04-09  
生活也是同样的道理,把事情简单化,让自己生活更愉快!

相关推荐

    编程的灵魂——数据结构+算法=程序

    编程的灵魂——数据结构+算法=程序编程的灵魂——数据结构+算法=程序编程的灵魂——数据结构+算法=程序编程的灵魂——数据结构+算法=程序

    C++编程惯用法——高级程序员常用方法和技巧

    C++编程惯用法——高级程序员常用方法和技巧C++编程惯用法——高级程序员常用方法和技巧

    高质量C++/C 编程指南,C语言编程——好习惯

    而实际上,真正的编程高手应当具备将复杂问题简单化的智慧,能够编写出既高效又易于维护的代码。书中通过回顾作者面试微软中国研究院的经历,揭示了即使是看似简单的`strcpy`函数实现,也需要考虑到代码风格、错误...

    .NET+游戏编程入门经典——VB.NET篇

    《.NET+游戏编程入门经典——VB.NET篇》是一本专为初学者设计的书籍,旨在引导读者通过VB.NET语言进入游戏开发的世界。VB.NET是Microsoft .NET框架的一部分,是一种强大的面向对象的编程语言,特别适合于快速应用...

    高性能计算之并行编程技术—— MPI并行程序设计.zip

    并行编程技术是现代高性能计算领域中的核心组成部分,它能够充分利用多核处理器、分布式系统以及超级计算机的计算能力,显著提升复杂计算任务的处理效率。MPI(Message Passing Interface)是并行编程中广泛采用的一...

    Linux+shell编程课程设计——Linux用户管理的shell程序设计

    Shell编程是Linux系统中的重要一环,它提供了一种简单而强大的方式来自动化日常的系统任务,包括用户账户的创建、修改和删除。下面将详细讲解与这个主题相关的多个知识点。 1. **Shell脚本基础**:Shell脚本是一种...

    [.NET游戏编程入门经典——+C#篇]源文件

    《.NET游戏编程入门经典——C#篇》是一本专为初学者设计的教程,旨在帮助读者掌握使用C#语言进行游戏开发的基础知识和技术。这本书的源文件包含了多个章节的详细内容,涵盖了一系列与.NET游戏编程相关的主题。下面将...

    c#com+编程指南——————

    这是我在其他网站上找到,希望对大家有用++++++++++

    网络编程课程设计——猜数字

    总结来说,这个"网络编程课程设计——猜数字"项目涵盖了基础的网络编程概念,如C/S架构、Java编程以及TCP/IP通信。通过实现这个游戏,学生能够实际操作这些理论,提升对网络编程的理解。同时,"caishu"文件的分析...

    Python编程快速上手——让繁琐工作自动化1

    《Python编程快速上手——让繁琐工作自动化》这本书是一本面向初学者的Python编程指南,旨在教授如何利用Python语言进行日常任务的自动化处理。作者Al Sweigart是一位有着丰富教学经验的软件开发者,他通过简单易懂...

    编程的乐趣——用Python解算法谜题.zip

    【编程的乐趣——用Python解算法谜题】 Python编程语言以其简洁明了的语法和丰富的库支持,成为初学者和专业人士解决算法谜题的首选工具。本资料包将带你深入体验编程带来的乐趣,通过Python来解决各种算法问题,...

    《.NET 游戏编程入门经典——VB.NET篇》

    《.NET 游戏编程入门经典——VB.NET篇》是一本专为初学者设计的教程,旨在引导读者踏入游戏开发的世界,使用微软的.NET框架和VB.NET编程语言。这本书覆盖了从基础知识到复杂概念的全面内容,是学习游戏编程的理想...

    C++编程惯用法——高级程序员常用方法和技巧.rar

    这份名为"C++编程惯用法——高级程序员常用方法和技巧"的资料涵盖了诸多关键知识点,包括但不限于模板、STL(标准模板库)、异常处理、内存管理、多线程编程以及优化策略。以下将对这些主题进行深入探讨。 首先,...

    《C++编程思想》——上下两卷

    下卷则更侧重于C++的高级特性和设计原则,涵盖了STL(标准模板库)、流、智能指针、命名空间、运算符重载、模板元编程、多线程编程等复杂主题。STL是C++中一个强大的工具集,包含了容器、迭代器、算法和函数对象,极...

    C++编程惯用法——高级程序员常用方法和技巧.pdf

    C++编程惯用法——高级程序员常用方法和技巧.pdf

Global site tag (gtag.js) - Google Analytics