`
lippeng
  • 浏览: 451725 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

代码感悟 ---要优雅

阅读更多

不知道何时,我写代码时,在讲究优雅了。现在想来,自己也不能给优雅下个定义。只是觉得,自己写的代码要漂亮,这个漂亮,胜过功能的实现。在功能与优雅之间,我往往选择的是优雅。

 

我当前所认为的优雅,是代码的美观,良好的封装,加上统一的代码风格与通用的代码命名规范。

 

如没有任何影响美观的属性,不允许Java代码报出任何的警告,不允许任何文件没有格式化就保存。

 

封装,是对象的拆解。原来写代码,很多东西都放在一个对你里面。现在往往把一个对象的东西拆开,独立出一部分,作为一个单独的对象。这不能说好,也不能说不好,只能看是否需要,并根据需要来决定是否独立。

 

编码,每个人都有自己的风格。风格这个词,本来就有点含糊,具体怎么样才算一种风格?没有人来给出定义。

 

Java里面,对象的传递,传递的全部都是引用,对象并没有动。而引用是放在栈里面的,很快很快,对性能影响很小。所以,能多个引用,就多个引用,这没有什么坏处,而同时提高的,是容易阅读,简单易懂。

 

从C过来的人,都知道写Condition的时候,常量放在前面,变量放在后面。所有代码块,全部都带{},不管是一句,还是多句。诸如此类的注意事项,都可以算是好的编码风格。

 

在做大型项目开发的时候,不是每个地方都写一遍代码,而是在一个地方写好了,直接拷到另外一个地方,改一下,就让它跑。这也体现了敏捷开发思想。大家可能也发现了,改这一小部分代码的时候,并不轻松,从命名,到字段,再到。。。

 

我在做的时候,在考虑一件事,能不能拷过来,直接用替换,把一部分东西替换一下,然后就能跑。首先,可以肯定的是,这是不可能的。任何两个地方的代码,不可能完全通用。其次,业务逻辑会对各个部分产生不同的影响。但我在改的时候,发现很多时候,直接替换一下,真的能正常运行。很多时候,不用替换,改一个关键的地方,替换为新的东西,就行了。为什么能这样呢?命名考虑通用性。这在这个模块的命名,拿到另外一个模块,依然通用。我在这个模块用的顺序和逻辑关系,到另外一个模块,也是一样,不用动的。


 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics