第一次个人编程作业
PSP表格
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 30 | 30 |
Estimate | 估计这个任务需要多少时间 | 1800 | 1800 |
Development | 开发 | 1500 | 2000 |
Analysis | 需求分析(包括学习新技术) | 180 | 20 |
Design Spec | 生成设计文档 | 10 | 15 |
Design Review | 设计复审 | 20 | 20 |
Coding Standard | 代码规范(为开发制定合适的规范) | 8 | 12 |
Design | 具体设计 | 15 | 26 |
Coding | 具体编码 | 300 | 450 |
Code Review | 代码复审 | 15 | 20 |
Test | 测试(自我测试,修改,提交修改) | 180 | 300 |
Reporting | 报告 | 19 | 31 |
Test Report | 测试报告 | 20 | 20 |
Size Measurement | 计算工作量 | 5 | 15 |
Postmortem & Process Improvement Plan | 事后总结并提出过程改进计划 | 60 | 60 |
合计 | 2362 | 3019 |
计算模块接口的设计与实现过程
- 代码实现过程
面向过程设计
(1)依据在”,“前,将姓名用正则匹配取出
(2)再根据11位数字,将电话号码取出。
(3)对输入的字符串进行处理,去除无关标点符号,如”,“”.“。得到地址
(4)根据省级、市级枚举表,将省级、市级取出
(5)根据关键字,其余级对号入座
计算模块接口部分的性能改进
计算模块部分单元测试展示
- 关键代码
pattern = re.compile(r'(?P<province>[^省]+自治区|.*?省|.*?行政区|)(?P<city>[^市]+自治州|.*?地区|.*?行政单位|.+盟|市辖区|.*?市|)(?P<county>[^县]+县|.+?区|.+市|.+旗|.+海域|.+岛)?(?P<town>[^区]+?区|.+?镇|.+?街道|.+?乡)?(?P<village>.*)')
# 将字段切割
list1 = ['北京市', '天津市', '河北省', '山西省', '内蒙古自治区', '辽宁省', '吉林省', '黑龙江省', '上海市', '江苏省', '浙江省', '安徽省', '福建省', '江西省', '山东省', '河南省', '湖北省', '湖南省', '广东省', '广西壮族自治区', '海南省', '重庆市', '四川省', '贵州省', '云南省', '西藏自治区', '陕西省', '甘肃省', '青海省', '宁夏回族自治区', '新疆维吾尔自治区', '台湾省', '香港特别行政区', '澳门特别行政区']
list2 = ['石家庄市', '唐山市', '秦皇岛市', '邯郸市', '邢台市', '保定市', '张家口市', '承德市', '沧州市', '廊坊市', '衡水市', '太原市', '大同市', '阳泉市', '长治市', '晋城市', '朔州市', '晋中市', '运城市', '忻州市', '临汾市', '吕梁市', '呼和浩特市', '包头市', '乌海市', '赤峰市', '通辽市', '鄂尔多斯市', '呼伦贝尔市', '巴彦淖尔市', '乌兰察布市', '兴安盟', '锡林郭勒盟', '阿拉善盟', '沈阳市', '大连市', '鞍山市', '抚顺市', '本溪市', '丹东市', '锦州市', '营口市', '阜新市', '辽阳市', '盘锦市', '铁岭市', '朝阳市', '葫芦岛市', '长春市', '吉林市', '四平市', '辽源市', '通化市', '白山市', '松原市', '白城市', '延边朝鲜族自治州', '哈尔滨市', '齐齐哈尔市', '鸡西市', '鹤岗市', '双鸭山市', '大庆市', '伊春市', '佳木斯市', '七台河市', '牡丹江市', '黑河市', '绥化市', '大兴安岭地区', '南京市', '无锡市', '徐州市', '常州市', '苏州市', '南通市', '连云港市', '淮安市', '盐城市', '扬州市', '镇江市', '泰州市', '宿迁市', '杭州市', '宁波市', '温州市', '嘉兴市', '湖州市', '绍兴市', '金华市', '衢州市', '舟山市', '台州市', '丽水市', '合肥市', '芜湖市', '蚌埠市', '淮南市', '马鞍山市', '淮北市', '铜陵市', '安庆市', '黄山市', '滁州市', '阜阳市', '宿州市', '六安市', '亳州市', '池州市', '宣城市', '福州市', '厦门市', '莆田市', '三明市', '泉州市', '漳州市', '南平市', '龙岩市', '宁德市', '南昌市', '景德镇市', '萍乡市', '九江市', '新余市', '鹰潭市', '赣州市', '吉安市', '宜春市', '抚州市', '上饶市', '济南市', '青岛市', '淄博市', '枣庄市', '东营市', '烟台市', '潍坊市', '济宁市', '泰安市', '威海市', '日照市', '临沂市', '德州市', '聊城市', '滨州市', '菏泽市', '郑州市', '开封市', '洛阳市', '平顶山市', '安阳市', '鹤壁市', '新乡市', '焦作市', '濮阳市', '许昌市', '漯河市', '三门峡市', '南阳市', '商丘市', '信阳市', '周口市', '驻马店市', '武汉市', '黄石市', '十堰市', '宜昌市', '襄阳市', '鄂州市', '荆门市', '孝感市', '荆州市', '黄冈市', '咸宁市', '随州市', '恩施土家族苗族自治州', '长沙市', '株洲市', '湘潭市', '衡阳市', '邵阳市', '岳阳市', '常德市', '张家界市', '益阳市', '郴州市', '永州市', '怀化市', '娄底市', '湘西土家族苗族自治州', '广州市', '韶关市', '深圳市', '珠海市', '汕头市', '佛山市', '江门市', '湛江市', '茂名市', '肇庆市', '惠州市', '梅州市', '汕尾市', '河源市', '阳江市', '清远市', '东莞市', '中山市', '潮州市', '揭阳市', '云浮市', '南宁市', '柳州市', '桂林市', '梧州市', '北海市', '防城港市', '钦州市', '贵港市', '玉林市', '百色市', '贺州市', '河池市', '来宾市', '崇左市', '海口市', '三亚市', '三沙市', '儋州市', '成都市', '自贡市', '攀枝花市', '泸州市', '德阳市', '绵阳市', '广元市', '遂宁市', '内江市', '乐山市', '南充市', '眉山市', '宜宾市', '广安市', '达州市', '雅安市', '巴中市', '资阳市', '阿坝藏族羌族自治州', '甘孜藏族自治州', '凉山彝族自治州', '贵阳市', '六盘水市', '遵义市', '安顺市', '毕节市', '铜仁市', '黔西南布依族苗族自治州', '黔东南苗族侗族自治州', '黔南布依族苗族自治州', '昆明市', '曲靖市', '玉溪市', '保山市', '昭通市', '丽江市', '普洱市', '临沧市', '楚雄彝族自治州', '红河哈尼族彝族自治州', '文山壮族苗族自治州', '西双版纳傣族自治州', '大理白族自治州', '德宏傣族景颇族自治州', '怒江傈僳族自治州', '迪庆藏族自治州', '拉萨市', '日喀则市', '昌都市', '林芝市', '山南市', '那曲市', '阿里地区', '西安市', '铜川市', '宝鸡市', '咸阳市', '渭南市', '延安市', '汉中市', '榆林市', '安康市', '商洛市', '兰州市', '嘉峪关市', '金昌市', '白银市', '天水市', '武威市', '张掖市', '平凉市', '酒泉市', '庆阳市', '定西市', '陇南市', '临夏回族自治州', '甘南藏族自治州', '西宁市', '海东市', '海北藏族自治州', '黄南藏族自治州', '海南藏族自治州', '果洛藏族自治州', '玉树藏族自治州', '海西蒙古族藏族自治州', '银川市', '石嘴山市', '吴忠市', '固原市', '中卫市', '乌鲁木齐市', '克拉玛依市', '吐鲁番市', '哈密市', '昌吉回族自治州', '博尔塔拉蒙古自治州', '巴音郭楞蒙古自治州', '阿克苏地区', '克孜勒苏柯尔克孜自治州', '喀什地区', '和田地区', '伊犁哈萨克自治州', '塔城地区', '阿勒泰地区']
# 省级、市级枚举表
计算模块部分异常处理说明
无
结果输出
[{"姓名":"李四","手机":"13756899511","地址":["福建省","福州市","鼓楼区","鼓西街道","湖滨路","110号","湖滨大厦一层"]},
{"姓名":"张三","手机":"13599622362","地址":["福建省","福州市","闽侯县","上街镇","","","福州大学10#111"]},
{"姓名":"王五","手机":"18960221533","地址":["福建省","福州市","鼓楼区","","五一北路","123号","福州鼓楼医院"]},
{"姓名":"小美","手机":"15822153326","地址":["北京","北京市","东城区","","交道口东大街","1号","北京市东城区人民法院"]},
{"姓名":"小陈","手机":"13965231525","地址":["广东省","东莞市","","凤岗镇","凤平路","13号",""]}]
{"\u59d3\u540d": "\u674e\u56db", "\u624b\u673a": "13756899511", "\u5730\u5740": ["\u798f\u5dde", "\u798f\u5dde\u5e02", "\u9f13\u697c\u533a", "\u9f13\u897f\u8857\u9053", "\u6e56\u6ee8\u8def", "110\u53f7", "\u6e56\u6ee8\u5927\u53a6\u4e00\u5c42 "]}
{"\u59d3\u540d": "\u5f20\u4e09", "\u624b\u673a": "13599622362", "\u5730\u5740": ["", "", "\u798f\u5efa\u798f\u5dde\u95fd\u4faf\u53bf", "\u4e0a\u8857\u9547", "", "", "\u798f\u5dde\u5927\u5b6610#111"]}
{"\u59d3\u540d": "\u738b\u4e94", "\u624b\u673a": "18960221533", "\u5730\u5740": ["\u798f\u5dde", "\u798f\u5dde\u5e02", "\u9f13\u697c\u533a", "", "\u4e94\u4e00\u5317\u8def", "123\u53f7", "\u798f\u5dde\u9f13\u697c\u533b\u9662"]}
{"\u59d3\u540d": "\u5c0f\u7f8e", "\u624b\u673a": "15822153326", "\u5730\u5740": ["\u5317\u4eac", "\u5317\u4eac\u5e02", "\u4e1c\u57ce\u533a", "", "\u4ea4\u9053\u53e3\u4e1c\u5927\u8857", "1\u53f7", "\u5317\u4eac\u5e02\u4e1c\u57ce\u533a\u4eba\u6c11\u6cd5\u9662"]}
{"\u59d3\u540d": "\u5c0f\u9648", "\u624b\u673a": "13965231525", "\u5730\u5740": ["\u4e1c\u839e", "\u4e1c\u839e\u5e02", "", "\u51e4\u5c97\u9547", "\u51e4\u5e73\u8def", "13\u53f7", ""]}
感想
全靠好友帮忙。囧rz