需求分析是后续工作的基石,如果分析思路有问题,后续工作可能就会走向不正确的方向,比如:代码重用性差、难于测试、难于扩展和难于维护等。反而,如果需求分析做的好,对设计、开发和测试来说,都可能是很大的帮助。程序设计对于软件的质量和软件实施过程的难易程度起着至关重要的作用。好的设计,即使聘用没什么经验的开发人员都很容易产生出高质量的代码出来;而差的设计,即使是经验很丰富的开发人员也很容易产生缺陷,特别是可重用性、可测试性、可维护性、可扩展性等方面的缺陷。
之前编写的代码比较粗糙,而且全部在main函数内实现,如果条件再多,则main函数就会写得特别庞大,应该将代码单独移植成一个函数,在main内调用即可。而且整数范围0-200直接在核心代码内数值植入,如果需要维护成0-300,则需要修改多个地方。为方便后续使用测试框架进行有效测试,把主函数的返回值设置为int类型。修改代码核心部分如下:
static int judgeKindOfTriangle(int a,int b,int c)
{ int flag = 0; if(isLegal(a,b,c)) { if(isTriangle(a,b,c)) { if(isRightRriangle(a,b,c)) { flag=4; System.out.println(" 4、直角三角形"); } int count=howManyEquals(a,b,c); if(count==3) { flag=2; System.out.println("2、等边三角形"); } if(count==2) { flag=3; System.out.println(" 3、等腰三角形"); } else { flag=5; System.out.println(" 5、一般三角形"); } } else { flag=1; System.out.println("1、不能组成三角形"); } }else { flag=6; System.out.println("6、某些边不满足限制"); } return flag; }public static void main(String[] args) {
int a, b,c; a=3; b=3; c=5; int flag =judgeKindOfTriangle(a,b,c); }}部分代码如下所示:
package com.loleina.whiteTest;
public class TriangleJudgeSourceCode {
static int max_length=200;/* isInOfRange: 判断一个整数是否在(0, 200)区间内, 返回值:true-在; false-不在*/ static boolean isInOfRange(int a) { boolean temp=true; if(a<=0&&a>=max_length) temp=false; return temp; }
/* 判断三条边是否合法(即:判断三条边都在合法的范围内), 返回值:true-是; false-否 */
static boolean isLegal(int a, int b, int c) { boolean temp=false; if(isInOfRange(a)&&isInOfRange(b)&&isInOfRange(c)) temp=true; return temp; }