一、背景说明
最近时间相对比较宽裕了,相对于前些时候,可以说轻松了很多。于是偷得浮生半日闲,写点东西吧。其实对于这个话题,我在2010年的5月份的时候就想写了,但是那个时候专注于hadoop的技术学习,所以没有太多的时间去关注这个话题,于是就搁置了,但是没想到这一搁置居然搁置了有半年多的时间,于是思考着,这个时候再不写,以后怕是又要忘记了。于是赶紧写出来。
二、好代码要具备的基本条件
关于写代码,相信每个程序员或者是工程师都写过。什么样的代码好,相信每个人心里都有自己的想法。今天,在这里我要说的就是我对于好的代码的理解。说个几条吧,大家参看一下,虽然好代码的标准很多,但是我觉得起码需要具备以下几点:
1、代码美观、大方,注意排版,有合理的注释。对于这个,很容易就能做到。但是恰好有不少我见到的朋友做的不够。美观大方,注意排版是给自己看的,如果别人看,代码好看,心情也会感觉不错。对于注释,不是谁告诉我非要写注释,只是自己记性不好,写的东西过段时间就忘记了,于是,就养成了写代码也写注释的习惯。一般说来,注释量达到30%是比较合理的。
2、结构合理,设计大于编码。最早的时候我写代码,上来就是写,行不通就改方法再试。这样的过程我持续了有段时间了。说实话,耗时也耗力。直到在以前公司碰到了一位牛人,终结了我这样写代码的风格。通过对他的观察,发现他接到活以后,往往是设计的时候花了很长的,几乎占了整个周期的五分之三的时间,然后才开始动手写。他写出来的东西,很少有过返工或是大量的Bug。其实很早的时候就知道写代码设计大于编码,但是一直不怎么理解,直到亲眼看到这个牛人的作品之后才渐渐的熟悉。吃一堑长一智啊。
3、尽可能少的Bug,尽可能多适应环境。这里的Bug不是说功能的Bug,实际上是多方面的。性能、环境、软件、硬件等等。可能有的朋友会问,写个代码,不就是软件方面的吗?为什么会涉及到硬件?说实话,以前我也这么认为,但是目前有时候写代码,发现一些硬件的问题也是可以通过软件规避或是通过软件来报警做处理。对于多的适应环境,我认为这个是代码健壮性的考虑。
二、总结一下:
1、万事在顺水顺风的情况下,估计谁都可以写出好的代码。问题是,实际环境下,不是顺水又顺风的,各种不如意的情况都有可能出现。如果谁的代码能够更好的应对这样或那样不如意的情况,相比之下,谁的代码就是好代码。
2、以前看武林外传的时候,记得李大嘴说过这样一句话“用好的食材谁都能做出好菜,那不算本事。好的厨子就是用不好的食材也能做出好的饭菜”,有点夸张,但是从侧面也能反映出一些问题。写代码有时候就像做厨子一样。食材好坏那就是应用环境是否理想。厨子手中的那个大勺就是你的代码。
3、其实不仅仅是写代码,做项目管理也一样。资源充足、需求明确、时间充沛。那谁带项目90%都可能成功。可是好的项目经理就是在以上3点都不理想的情况下能够把项目做成,那就是一个好的项目经理。
三、收尾
1、什么样的才是好代码?见仁见智。这里我也把我写代码的心得和大家分享一下。我在拿到任务的时候,一般来说是先设计在理想环境下的运行,实现功能。其次再设计一系列的不理想的应用环境,然后在代码中做异常处理用以应对。最后,模拟这样一类的环境,测试,杀Bug。
2、由于我大学是文科,学的是法律,所以在IT这个行当算是半路出家。以上的内容都是我这些年在做IT的过程中的心得体会,写出来,大家分享。如果有不对的地方还望朋友们毫不吝啬的指出。
3、编程技巧通过学习(当然,耗时是因人而异)都能掌握,重要的是从技巧和工作中总结出工作的方法论,这样才是我们在完成一个工作之后的最大收获。好的方法对于做不同的事情都具有更好的适应性,能够提供更为科学的解决思路和途径。
分享到:
相关推荐
6. **避免冗余**:注释不应重复代码本身已经表达的信息,而是要解释为什么要这么做。 7. **注释掉困惑的代码**:如果某些代码难以理解,最好将其注释掉并重新编写更为清晰的代码。 #### 示例:Javadoc注释 ```java...
**B样条曲线拟合** B样条(B-Spline)是一种在计算机图形学、几何建模、工程计算等领域广泛应用的数学工具。...而对于有经验的开发者,这个代码可以作为快速实现B样条拟合功能的起点,或者作为优化和扩展的基础。
【好的程序员如何写代码】 优秀的程序员在编写代码时展现出的专业素养和艺术感是评判其技能水平的重要标准。代码不仅是实现功能的工具,更是展现技术才华和思维清晰度的载体。以下是一些关于好的程序员写代码的特点...
通过实践这些例子,你可以更好地理解和应用B样条在实际问题中的强大功能,无论是进行数据拟合、曲线拟合还是复杂形状的建模。在实际应用中,你还可以结合其他MATLAB工具,如优化算法,来调整控制点以达到理想的形状...
bilibili哔哩哔哩代码模式长什么样 bilibili哔哩哔哩代码模式是指在bilibili平台上上传视频时使用的特殊格式代码,用于标识和组织视频内容。这种代码模式可以帮助用户快速查找和播放视频,并且可以实现视频的批量...
本篇文章将深入探讨B样条曲线的理论基础,并提供在Visual Studio(VS)环境下,利用EasyX图形库实现B样条曲线的代码示例。 首先,我们需要理解B样条曲线的基本概念。B样条(Bezier Spline)是由一系列贝塞尔曲线...
根据提供的文件信息,我们可以总结出以下关于“vc++绘制B样条曲线代码”的知识点: ### 一、基础知识 #### 1. B样条曲线简介 B样条(B-spline)是一种常用在计算机图形学中的参数曲线,它可以平滑地连接多个控制点...
这篇文档将深入讲解二次和三次B样条曲线的实现原理及代码实现,旨在帮助读者理解和应用这种强大的曲线构造方法。 首先,我们要理解B样条曲线的基本概念。B样条(B-Spline)是由一组控制点定义的分段多项式曲线,它...
在“B样条曲线曲面拟合汇总”这个压缩包中,可能包含了一些示例代码,这些代码可能涉及到上述的各种技术,如控制点的设置、节点向量的处理、De Boor's算法的实现、NURBS的权重计算等。通过学习和分析这些代码,可以...
通过阅读并理解这份文档,开发者可以更好地按照行业最佳实践编写代码。 接下来,我们关注`在Eclipse中导入代码格式化配置文件及代码模板.doc`。Eclipse允许用户自定义代码格式化规则,这可以通过`Window > ...
**B样条曲线** ...通过这个程序,开发者和学习者可以更好地理解和掌握B样条曲线的原理,以及如何在实际项目中利用Qt进行图形绘制。同时,这也是一个学习和实践C++编程、Qt库以及图形算法的好资源。
这是一份C语言版本的b样条曲线算法代码,可以实现二次和三次的b样条曲线绘制,可作为曲线平滑或者曲线拟合的代码使用。代码实现封装为连个函数,一个是实现给定三点或者四点计算样条曲线平滑点,一个是计算一些列...
代码是基于C++的三次B样条曲线拟合代码,包含插值拟合,近似拟合就不放代码了,较简单,我的博客中有相关论文链接。http://blog.csdn.net/liumangmao1314/article/details/54588155
在计算机科学和数值分析领域,B样条(B-Spline)是一种非常重要的数学工具,尤其在曲线和曲面...通过深入学习和理解这些代码,你可以掌握B样条曲线的基本理论和实现技巧,进一步提升在数值计算和图形处理领域的技能。
在这个压缩包中,我们可以看到与Spark相关的代码示例,同时提到了Kafka和Redis这两个组件,它们分别是分布式消息队列和键值存储系统。 Kafka是由Apache开发的分布式流处理平台,常用于构建实时数据管道和流应用。它...
在MATLAB中,B样条(B-Spline)是一种非常重要的数学工具,广泛应用于计算机图形学、几何建模和工程计算等领域。B样条曲线具有平滑性、局部控制和可调整性等特性,使得它们成为数据拟合和插值的理想选择。本资源提供...
B样条(B-Spline)是一种在计算机...通过学习这个B样条C#程序源代码,你可以深入理解B样条曲线的数学原理,掌握C#编程技巧,特别是图形绘制和用户交互方面,还能了解到如何将复杂的数学概念转化为实际可执行的代码。
总的来说,这个代码集合提供了从数据点构建B样条曲面的完整流程,包括控制点的绘制、曲线的分解、基函数的计算以及非均匀knot向量的处理。通过理解和运行这些代码,我们可以深入理解B样条曲线曲面拟合的原理和实现...
总结来说,"B样条曲线VC++MFC代码"项目提供了一个实践性的平台,让我们能够深入理解B样条曲线的数学原理,并掌握在Windows环境下使用MFC进行图形编程的技术。通过对源代码的分析和调试,开发者可以进一步提升在...
这个压缩包“C8051F全系列样列程序源代码”包含了该系列MCU的各种实例程序,对于开发者来说是一份非常宝贵的参考资料。 首先,我们要理解C8051F系列的特点。这些微控制器以其高速、低功耗和丰富的片上外设而著称,...