`
yongtree
  • 浏览: 233914 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

编程的美感(二)--你喜欢防守吗?

阅读更多

    观看足球比赛,那些在前面冲锋陷阵的前锋最吸引我们的眼球,我们喜欢他们行云流水的配合,喜欢他们单刀赴会一骑绝尘的背影,喜欢他们刀刀见血仰天长啸的豪情……,他们是足球场上的英雄,是胜负的主宰。

的确,美丽属于他们。但是我们又不得不面临着这样的事实,当我们举着进攻的大旗冲锋陷阵的时候,我们的后方是最危险的时候,对手的冷不防的偷袭便偷走我们胜利的果实。我喜欢的鲁能泰山,在中超各球队中进攻的能力可以说是数一数二的,但是仍然会输在一些弱小的球队身上,可见什么时候都不要忽视防守。也许图巴曾经说过,进攻是最好的防守,我们只要永远比对手多进一个球,我们就是胜利者。这当然是个真理,但是在软件开发中,它却不能成立,一个细微的错误便可以让整个系统瘫痪,软件开发的质量永远决定在系统的短板上,即使你有最锋利的尖刀。

这便引出一个概念:防御性编程。顾名思义,防御性编程是一种细致、谨慎的编程方法。防御性编程让我们尽早的发现一些小问题,而不是当出现灾难时在发现、弥补。我们常常看到“职业”的程序员不假思索的飞快写着代码,编写-运行-崩溃-修改-运行……,周而复始一次次的遭受着沉痛的打击,他们提高了开发的效率,却将时间大量的花费在非需求变更的修改上。我也经常听到有的程序员经常说的一个字:改。出了错误肯定要改,但是我们为什么不停下来好好想一想,为什么我们每天都要生活在更改之中,有没有可以改变的方法。方法当然有,在写每一行代码时都三思而后行,可能会出现什么样的错误?是否已经考虑了所有可能出现的逻辑分支?放慢速度,有条不紊的编程看上去虽然很平凡,开发效率不高,但是这的确是减少缺陷的好方法,它可以节省80%维护的时间,从完整的软件生命周期来看,其实这是高效的。

我们经常说:失去时才懂得珍惜。难道防御性编程也要当我们出现错误时才引起我们的注意吗?不,这是不对的。防御性编程应该牢牢的印在我们的骨子里,成为我们的天性。成熟的程序员应该从经验中吸取教训,在吃过一遍苦头之后,应该明白增加预防措施是明智的。在开始编码时就应用防御性策略,要比改进代码时应用容易的多。

再回到题目:你喜欢防守吗?讨论到这里,我们是否发现防守其实也是一种美,它是男子汉的铮铮铁骨,铜墙铁壁显示出它的刚强,它虽然没有利矛,但是所有的利矛都无法刺破它的身体,这样健壮的系统,难道不是我们想要的吗?

让我们开始学会防守吧。

 

 

相关:

编程的美感(一)--从命名开始

4
1
分享到:
评论
2 楼 case0079 2009-03-05  
这个好象不是编程中进攻防守的本意吧
1 楼 mewleo 2009-02-18  
对啊,黑客才需要攻击性,我们好比建筑师,需要的是安全和稳定

相关推荐

    商业编程-源码-让你的软件界面更漂亮(六)-- 仿Q.zip

    在本资源"商业编程-源码-让你的软件界面更漂亮(六)-- 仿Q.zip"中,我们聚焦于如何提升软件用户界面(UI)的设计美感,以实现与腾讯QQ类似的视觉效果。通过学习和理解这份源码,开发者可以掌握一些关键的UI设计原则和...

    [从快感到美感]-高峰体验与美感.docx

    【从快感到美感】高峰体验与美感的差异和层次,是美学探讨的重要议题。快感与美感虽然在日常生活中常常交织出现,但它们之间存在着本质的区别。快感往往源自感官的即时满足,如品尝美食、欣赏美景等带来的瞬间愉悦,...

    商业编程-源码-本代码可以生成并显示分形图像.zip

    在计算机图形学领域,分形图像因其独特的美感和复杂的几何形状,常被用于艺术创作、科学研究以及视觉效果的生成。本压缩包中的源码就是针对这一主题,用于生成并显示分形图像的程序。 首先,我们来了解一下分形的...

    编程参考书-Writing Clean Code

    《编写干净的代码》是一本深受程序员喜爱的编程参考书,其核心目标是教导开发者如何写出高质量、可读性强、易于维护的代码。在软件工程领域,代码的整洁度至关重要,因为它直接影响到项目的可扩展性、团队合作效率...

    商业编程-源码-《美化你的应用程序的外观界面》配套代码.zip

    《美化你的应用程序的外观界面》配套代码是一个针对商业编程领域,专注于提升应用程序视觉效果的源码集合。这个压缩包中的内容旨在帮助开发者学习和实践如何通过编程技术来优化和个性化应用的用户界面,从而提高用户...

    十五个经典问题 让你成为ppt高手十五个经典问题 让你成为ppt高手

    11. **排版技巧**:如何使文字排列更有美感? - 避免满屏文字,留白以增加呼吸感。 - 使用短句和短语,避免长段落。 12. **视觉层次**:如何创建视觉层次,引导观众视线? - 通过大小、颜色和位置区分不同层级的...

    计算机软件-编程源码-8.22 纵横比率.zip

    在计算机编程领域,"纵横比率"通常指的是图像或布局元素的宽度与其高度的比例,这是一个重要的概念,特别是在图形设计、图像处理以及用户界面设计中。在这个压缩包文件"8.22 纵横比率.zip"中,我们可以推测它包含的...

    禅与Objective-C的编程艺术

    本书不仅是一本技术手册,更是一部关于如何理解编程本质、追求编程美感的作品。作者通过将禅宗哲学与Objective-C编程相结合,引导读者进入一个全新的编程境界。 #### 详细知识点分析 ##### 1. 导论 - **Swift与...

    中国少儿编程行业研究报告

    - 少儿编程产品通常以算法为核心,通过产品熟悉来为学习复杂编程打下基础,特别强调可视化图形编程,培养美感产出能力。 以上知识点概述了中国少儿编程行业的发展背景、市场规模、未来方向、关键词、教育理念、...

    禅与 Objective-C 编程艺术

    通过阅读《禅与 Objective-C 编程艺术》,开发者不仅可以提升Objective-C的技术水平,还能学会如何将禅的理念融入到编程实践中,创造出更具智慧和美感的代码。无论是初学者还是经验丰富的开发者,都能从这本书中获得...

    少儿编程启蒙课--画面精美音质好,孩子超爱学

    挑选素材的标准是要自然、有美感,拒绝低俗,比如说,我们的音乐素材里就有舒伯特的《音乐的瞬间》,还有非常经典的《美国巡逻兵》;同时素材的挑选也要兼顾孩子的兴趣,整体的风格比较活泼,比如角色中就有孩子们...

    Ruby动态编程对象编程Ruby动态编程对象编程Ruby动态编程对象编程

    ### Ruby动态编程语言的核心知识点 #### 一、Ruby的特点与优势 **1. 简洁而优雅** - **设计哲学:“最小意外原则”** - Ruby的设计理念旨在减少不必要的复杂性和冗余,使得代码更加直观易懂。 - **简洁的语法** ...

    程序员编程艺术系列之程序员编程艺术

    《程序员编程艺术系列之程序员编程艺术》是一本...通过阅读《程序员编程艺术系列之程序员编程艺术》,程序员可以系统地提升自己的编程技能,了解并实践编程中的艺术性,从而在实际工作中编写出更高效、更具美感的代码。

    Android瀑布流照片墙实现,体验不规则排列的美感-IT计算机-毕业设计.zip

    这个压缩包“Android瀑布流照片墙实现,体验不规则排列的美感”提供了一个具体的实现示例,对于学习Android应用源码和论文撰写具有很高的参考价值。 首先,瀑布流布局的核心在于自适应和滚动的流畅性。在Android中...

    Android应用源码之Android瀑布流照片墙实现,体验不规则排列的美感-IT计算机-毕业设计.zip

    在Android应用开发中,瀑布流(Waterfall Layout)是一种常见的布局方式,尤其在展示图片墙时,能够带给用户不规则排列的美感。本项目“Android应用源码之Android瀑布流照片墙实现”提供了完整的源码,非常适合...

    小学语文:引导品读,发掘美感-《去年的树》教学片断和反思(实用文本).pdf

    小学语文:引导品读,发掘美感-《去年的树》教学片断和反思(实用文本).pdf

    9-赛车-少儿编程scratch项目源代码文件案例素材.zip

    "童程童美"可能是指这组资源的设计理念,注重培养孩子的编程美感和逻辑思维能力。 【压缩包子文件的文件名称】"9-赛车.sb2"是Scratch项目的源文件,扩展名".sb2"是Scratch 2.0版本的项目文件格式。打开这个文件,...

    快乐星猫-少儿编程scratch项目源代码文件案例素材.zip

    "童程童美"可能是指该项目或课程系列的名称,暗示了该项目旨在培养孩子们的编程美感,即在编写程序的同时注重代码的简洁性和可读性,让孩子们在享受编程乐趣的同时,也培养良好的编程习惯和审美观。 总的来说,...

    星光小学计算机特长班作品--飞行射击-少儿编程scratch项目源代码文件案例素材.zip

    标签"童程童美"强调了编程教育的美感,强调在编程学习过程中融入艺术和美学元素。在这个项目中,孩子们可以自由设计游戏背景、角色外观,以及音效,这不仅锻炼了编程技能,还提升了他们的审美感知和创造力。 总的来...

Global site tag (gtag.js) - Google Analytics