因为之前没接触过c#,所以在单元测试的部分没怎么看懂,就看了个大概。
个人开发流程(Personal Software Process)简称PSP
看完那一部分,我觉的我们学生普遍存在的问题就是 现在太注重代码部分了,却不注重其他细节,比如看不起uml建模图,或者是需求分析等等。造成这些的原因可能有很多,学校的课程或者是一些竞赛给我们造成一种代码重于一切的错觉。其实不然,像需求分析,生成设计文档,设计审核等这些工作的重要性不亚于编程,这都是为我们写程序做准备的,只有有了这些必要的工作,才能减少后期的错误,并且提高效率。
在37页看到自己感兴趣的问题:
练习数值计算。找出一个整数数组中子数组只和的最大值,例如:数组【1,-2,3, 5 ,-1】,返回8(因为符合要求的子数组是【3,5】)......
第一反应是算法题目,就写了一个程序。因为最近参加的竞赛的缘故,第一反应就是暴力解法,两个for循环就出来了。只不过时间复杂度是o(n2)了...
1 import java.util.*;
2 public class Example {
3
4 public static void main(String[] args) {
5 // TODO Auto-generated method stub
6 Scanner reader = new Scanner(System.in);
7 int n = reader.nextInt();//n为数组的大小
8 int a[]=new int[100];//数组a
9 for(int i=0;i<n;i++)
10 a[i]=reader.nextInt();
11 int max=a[0];//变量max存最大数值
12 for(int i=0;i<n;i++)
13 {
14 int sum=a[i];//一个临时变量 记录子数组的和
15 for(int j=i+1;j<n;j++)
16 {
17 sum+=a[j];
18 if(sum>max)max=sum; //如果sum>max,更新max的值
19 }
20
21 }
22 System.out.println("\n"+max);
23
24
25 }
26
27 }
关于第四章的《两人合作》
基本就是讲了代码的规范以及代码的复审,我觉的需要注意的就是代码的规范,比如{}独立成行的话程序清晰,变量名字最好起有意义的名字,还有就是注释太重要了。自己写的程序如果不加注释,或许过了一周,一个月你再去看,估计你自己也想不起来当初写的是什么了。平时花很少的时间加个注释能给以后省下很多的麻烦。