算法第一章作业
代码编写规范
之前看的《高质量C++C编程指南》中提到了代码规范,和之后我在网上看到的代码规范有许多相似地方,除了“头文件”方面Java没办法效仿外,大部分内容是可以延用的。
简易版如下:程序员需要了解的代码编写规范
- 源代码文件以文件内容中的最顶层的Java类命名,而且大小写敏感,文件扩展名为 .java,同时,文件的编码格式统一为UTF-8。
- 类的命名遵循大驼峰命名法UpperCamelCase,而方法名和变量名的命名遵循小驼峰命名法lowerCamelCase。常量名使用大写字母表示,单词之间以下划线分隔,.jsp的文件名全部小写。
- 合理运用空行。空行可以用来隔开相对独立的代码块,有利于阅读和理解。但是不使用超过一行的空行
- 为不容易理解类变量注释。注释代码段,注释逻辑选择。
- 对成员方法,不要轻易采用public的成员变量。主要的修饰符有public, private, protected。避免过多的参数列表,尽量控制在5个以内。
- 原则上关系密切的行应对齐,对齐包括类型、修饰、名称、参数等各部分对齐。另每一行的长度不应超过屏幕太多,必要时适当换行,换行时尽可能在","处或运算符处,换行后最好以运算符打头。
- 为避免编程时遇到麻烦,请保证在自己类路径指到的任何地方,每个名字都仅对应一个类。否则,编译器可能先找到同名的另一个类,并报告出错消息。
- 字符串不应该重复,如果多次用到同一字符串,建议将该字符串定义为字符串常量,再引用。
更加详细的管饭参考:
Java学习---Java代码编写规范
算法在软件开发中的作用
在我看来,算法是程序步骤的抽象实现。算法告诉你这一步要做什么,而你再用语言去实现这一过程。
首先算法起到了一个指导作用。当开发者想实现一个功能的时候,如果存在已有算法,那么能根据算法很快地实现此功能,而不需要从零开始,甚至自顶向下设计程序。
其次,在系统硬件越来越完善的时代,对算法的追求成为了软件开发的一个必不可少的部分。随着存储空间的扩大,人们开始追求程序运行的时间,这就需要高效、强大的算法支撑。在计算机硬件性能相同的情况下,程序的算法起了几乎决定性的作用
再者,对于同一个问题,衍生出了不同的算法。开发者需要根据实际情况选择合适的算法来实现相似甚至相同的功能,比如我们学过的排序算法。
代码是砖,算法是建筑设计图。
算法工程师也逐渐成为一种新兴职业,专门研究高效可行的算法。
在《数学之美》中,进行自然语言处理时,不同的算法可以导致分词结果的不同。有的算法能使分词结果十分详尽,但是需要经过更长、更复杂的计算;有的算法能在很短时间内得出结果,缺忽略了一些生僻的分词。多种算法的出现,使得开发者在进行开发时有选择的余地,根据程序的目的来选择合适的算法,使其运行更加高效、准确。
本学期打算设计一个爬虫软件,爬取知乎或者微博等网站的热门信息。并利用算法进行优化,选择性爬取热门、有影响力的信息而非将相关信息全部爬取。