• 编程作业


    这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/computer-science-class4-2018
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/computer-science-class4-2018/homework/11880
    这个作业的目标 1.完成项目 2.学习使用GitHub
    其他参考文献 《软件工程》《构建之法》

    1.项目链接

    https://gitee.com/ll_dl/project-c

    2.PSP

    PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
    Planning 计划 2h 2h
    • Estimate • 估计这个任务需要多少时间 3h 2h
    Development 开发 10h 15h
    • Analysis • 需求分析 (包括学习新技术) 3h 4h
    • Design Spec • 生成设计文档 1h 1h
    • Design Review • 设计复审 05h 0.5h
    • Coding Standard • 代码规范 (为目前的开发制定合适的规范) 1h 1h
    • Design • 具体设计 2h 1h
    • Coding • 具体编码 2h 2h
    • Code Review • 代码复审 1h 1h
    • Test • 测试(自我测试,修改代码,提交修改) 2h 2h
    Reporting 报告 1h 1.5h
    • Test Repor • 测试报告 1h 0.5h
    • Size Measurement • 计算工作量 0.5h 0.5h
    • Postmortem & Process Improvement Plan • 事后总结, 并提出过程改进计划 0.5h 0.5h
    合计 29.5h 34.5

    3.解题思路

    字符统计:
    遍历文档字符,通过排除非显示字符,统计显示字符数量;
    单词统计:
    遍历文档字符,利用变量记录字符是否为英文字母状态,统计进入该状态次数即为单词词数
    行数统计:
    遍历文档以行为单位的字符串,遍历次数即为行数
    特殊行数统计:
    历文档以行为单位的字符串,再利用指针遍历字符串;首先判断是否为代码行(优先级最高),其次判断是否为注释行,由于三种行互斥,顾空行数为总行数减去前两者。通过变量记录状态以判断代码行和注释行。

    4.代码规范

    https://gitee.com/ll_dl/project-c/blob/master/ codestyle.md/ codestyle.md

    5.部分关键代码

      while(fgets(buffer, 1003, fp)!= NULL){
      	bufferLen = strlen(buffer);
      	
      	for( i=0; i<bufferLen; i++){
      		c = buffer[i];
      	
      		if( c==' ' || c=='	'){	
      		
      		!isLastBlank && wordNum++; 
      		isLastBlank = 1;
      	}else if(c!='
    '&&c!='
    '){
      		
      		charNum++; 
      		isLastBlank = 0;
      		}
      	}
      	!isLastBlank && wordNum++;
      	totalNum[0]++;
      	totalNum[1] += charNum;
      	totalNum[2] += wordNum;
    

    6.测试


    7.性能改进

    暂时还没有想到什么好的改进方法

    8.心路历程

    这次感觉很难,主要是很多以前学过的知识都完了,所以现在很多东西在用的时候都不熟悉,C语言也是,所以这次又去回顾了一下相关知识。

  • 相关阅读:
    Array.sort源码
    单例模式
    nio理解
    xoa中范型的应用
    mybatis 一对多映射 xml
    zookeeper
    java final
    spring controller里面返回JSONObject与返回String的不同
    synchronized的可重入性
    nio select poll epoll
  • 原文地址:https://www.cnblogs.com/ll-dl2018/p/14608462.html
Copyright © 2020-2023  润新知