对编程的一些建议

对编程的一些建议

良好的编程风格

代码风格很关键,代码风格之于项目就像衣服之于人一样,不能乱,不能邋遢,给人的第一印象就要好,这样别人也会多看一会儿,良好的代码编程风格也能避免一定的bug,比如很多人养成了断言的习惯,就会在某些地方打上断言,这样就会在工程初期fast-fail,有助于工程的最终结果。
强烈不建议copy别人的代码,特别是网上的一些人开发的小功能的代码。程序猿初期,老师或者leader分配任务时,大多数人或多或少都会去google 百度一把,然后发现别人已经实现了,就不加考虑的完全copy过来,同时也或多或少的受到他们的代码风格的影响,导致自己跟随,时间长了,自己的代码风格没定,反而更乱了。

代码风格就像衣服一样,好坏别人一眼便知,也能据此来评价你这个人的优良。可以多看看开源项目,比如java
的Apache Spark,Solr、Lucene, Elasticsearch, Apache Flink, C的可以参考libevent, memcache的等等

个人比较推崇Google的代码风格,大家可以参考。
Google 开源项目风格指南

设计模式

很多人一开始不知道设计模式是什么,项目里面class与class之间关系冗杂错乱,理不清头绪,代码重用性不高,出现内聚耦合等等各种问题。如果一些人不知道内聚耦合的话,可以先认识理解内聚、耦合的概念。构建项目之前要理清项目各模块之间的关系,在进行编码。
设计模式给我们提供了class之间的设计方法,重用性和扩展性高,也能够解决各种问题。但是不一定所有的都可以套用那二十几种设计模式方法,理解了设计模式的几大原则之后,可以斟酌使用。
设计模式的书籍推荐的
设计模式:可复用面向对象软件的基础, 经典书籍
设计模式之禅, java版的,个人在看的,讲的浅显易懂。

很多项目在开发过程中或者后期中都需要重构,这些是一开始设计时没考虑那么全面导致的,但这没关系,大部分人都会导致这个结果。重构再重新设计对于个人成长来说意义很大。重构的方法也有很多,具体可以看书
重构:改善既有代码的设计

算法

基础的算法要懂,且自己能够熟练的写出来。工程项目中一般很少用到高大上的算法,但是最最基本的排序,查找还是很多的,特别现在大数据排序查找,一般的算法性能会有点问题,所有很多时候都需要我们自己去优化。当然现在也有很多开源的lib可以直接拿过来用,还是希望自己能完全理解其算法优化精髓,已备后续自己使用,或者换工作时面试备需啊

算法书籍推荐C语言的,无论你是学Java的还是其他的语言的,我个人觉得以下这本书是需要看到
算法:C语言实现(第1-4部分)基础知识、数据结构、排序及搜索
算法:C语言实现(第5部分)图算法

代码注释说明

你写的每一个方法除非方法很简单,通过方法名可以直接看出其作用的话,就不需要写注释,如果很复杂,那就必须要写注释。有些人认为无关紧要,当然如果你只负责写那么不大到1千行的代码,自己都知道其功能,且这段代码只有你来修改,别人不会碰,注释就随你自己吧。我的经验,在我自己负责一个项目,代码写到1万5千行之后,有些代码如果不写注释还是需要自己花一点时间去看才能知道其功能(可能是我自己记性差吧)。所以写上注释第一可以在别人看你代码时一眼就知道该function的作用,第二也便于自己以后查看;第三bug查找很重要。
还有一点需要提的是,如果你是java开发人员,很多IDE都支持TODO功能。当你在开发时,一时没有更好的想法又急于时间紧迫,只能烂代码充数时可以加上TODO,可以在自己的代码上加上TODO,这样IDE会记住,以后自己查找起来及其方便,就可以做二次优化了。

先写这几点吧,希望对初学者有所帮助

你可能感兴趣的:(编程,代码,开发)