你总是写出糟糕的代码而找不到原因,没关系今天极悦的老师为大家讲解一下原因。
一、明显原因
一下子可以想到的很明显的原因是,有好的程序员,也有不那么好的程序员,有的人技术水平高,有的人水平却低,有人对这门技艺感兴趣,但也有的人却不愿意在工作之外学习其他。那么是不是在这表层之下还有更多的问题呢?有没有导致糟糕代码的根本性原因?
二、低预期
初学者总是需要在工作中学习如何产出好的代码。我们也相信,真正的编程知识只能通过经验累积才能获得。因而,初学者甚至觉得他们能写出的就是糟糕的代码!
通过强迫他们和大多是低质量的开发者一起工作,我们让那些关心工艺和对自己的工作质量感到自豪的人过得苦不堪言。
上述两个因素的结合导致了我们现在这个状况,每个人都认为他们会写代码,但是我们更信任如同品牌商品一样的专业开发者。
三、编程书籍
初学者参考的那些书籍总是在不经意间准确描绘了差的代码应该是怎么样的。任何编程语言的初学者书籍,大多满是坏的代码。如 《Clean Code》和《Pragmatic Programming》就是如此,但这些书籍却被广泛用于教导大多数的初学者。
一些糟糕代码的例子……
(3.1)糟糕地命名类、变量和方法
i, ii, j, k用于循环;SampleChapter1用于类名;等等
(3.2)不分离关注点
三页长的main()方法囊括了一切,没有根据责任不同分成不同的方法。
(3.3)不好的编码实践
没有如包含验证或异常处理这样好的编码实践。相反,他们通常使用一个包含所有代码在类内的大的通用的try()..catch(Exception e)块。
大量使用if-else,switch,goto语句等。
(3.4)走捷径
这些书籍还需要摆脱“快速修复”的编程风格。例如,方法中有10个参数并不罕见。需要做两种类型的计算?没问题,传递一个布尔参数,并添加一个if-else结构即可。需要增加新的功能呢?哈哈,那就添加更多的代码到那个已经长达两页的方法中去!这里只举几个走捷径例子。
学习编程的一个好方法是掌握语言的语法,快速开发所需的工具,以及组成代码的组件和模块的设计——以这种顺序。
不幸的是,大多数书籍停留在语法上,而不触及工具和设计改进的话题。虽然这些书的意图和目的是要教导编程语言的语法,但是阅读的人同时也会学习编码风格和方法。
在初学者学习代码的时候,教导他们明白一件事非常重要,那就是,代码是为其他人阅读和理解而写的,而并非是为了编码器而写。
更多,Java视频,Java教程尽在极悦Java培训,关注极悦官方微信,获得一手Java全新知识。