Soft_Job 板


LINE

※ 引述《mickeyboy (mickey)》之铭言: : 爬了一下版规,如果有触犯到,再删文 谢谢 : 帮朋友代PO : 最近接手公司的新专案,结果发现该专案 : 几乎完全没注解,可能一个档案里面 : 注解不超过10个字,也没手册 : 虽然变数名称那些都是用"有意义的英文"命名 : 大致上能猜得出"可能是跟什麽有关" : 例如薪资单可能是A档案,但A档案中又一堆function : 目前只能从MVC开始慢慢追,想请问版上的前辈们 : 如果遇到这种专案维护,有什麽技巧可以快速入手的 : 问公司的前辈,意思是摸索久了,自然就会记得了 : 感谢 「没注解的专案该如何维护」 但其实如同推文中很多板友说的 没注解不代表程式写得不好 最高境界的 clean code 是无注解的 题外话:「好程式 -> 不写注解」并不等价於「不写注解 -> 好程式」 程式写的烂还是乖乖写注解比较实在...XD 我先假设你要问的其实是 「很难阅读的专案该如何维护」 我建议的药方是 Unit Test  ̄ ̄ ̄ ̄ ̄ 套上 Unit Test 有两层意义: 1. 确认每个工作单元的行为是否和你猜想的相同 也可作为後续维护程式的「规格文件」 2. 作为重构的保护网,确认重构後行为没有改变 实务上的步骤的大概是: 1. 建立可以方便撰写、执行 Unit Test的环境 这得仰赖 IDE 是否有相关的框架、套件可以支援 例如 Visual Studio 内建的 MSTest 2. 小部份重构(还没有加 Unit Test 保护,切勿大规模重构) 接下来或多或少会面临 Unit Test 根本就包不上去的情况 因为程式撰写时根本就没有考虑过可测试性、耦合的程度太过严重 所以比须先使用一些技巧提高程式的可测性(例如依赖注入之类的) 3. 包上 Unit Test,确认工作单元的行为 4. 重构。让程式码更好阅读、具有更高的可测性、可维护性 真的重构不出够漂亮的程式码,就乖乖加上注解吧~ Unit Test 是一门博大精深的学问 如何写出好的test case、测试的工作单元该如何切割、各种情况如何验证、...等 都是不小的学问,这边我就不多作赘述了~ Google 「91 TDD」会有很多很棒的文章 :p 以上,献丑了 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.169.90.185
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1500739518.A.27B.html
1F:→ james732: 话说有没有专文是在讨论嵌入式系统的unit test...Q_Q 07/23 00:31
2F:→ dnabossking: 案子都结束了,看TDD? 07/23 01:13
3F:推 dnabossking: 没有分层,逻辑交错,架构很乱,ㄧ个函数包ㄧ堆功能 07/23 01:16
4F:→ dnabossking: ,要怎麽unit test? 07/23 01:16
5F:→ dnabossking: 我是假设性的提问、请教,语气上若不周全,还请见谅 07/23 01:17
6F:→ newversion: 有些专案谈不上维謢,打掉重练还比较快~~~ 07/23 01:22
7F:→ vi000246: 像这种很乱的程式码 只能砍掉重练吧 小部份重构有点难 07/23 01:24
8F:推 tvbic: 真的是讲干话 07/23 02:10
9F:推 JingX: 先把该函式慢慢拆解分层,拆到足以有明确的输出输入, 07/23 08:04
10F:→ JingX: 针对新拆出来建立的函式作Unit test 07/23 08:05
11F:推 wuliou: 重点是主管要承认做测试跟重构的价值 不然你一下就黑了 07/23 14:26
12F:推 evan176: 推 一堆人疯狂加班就只是因为没有正确的开发方式 07/23 19:48
13F:推 GameGyu: 不管是嵌入式系统或架构很乱,个人是建议去了解IC Design 07/23 20:54
14F:→ GameGyu: 中的design for test之类的方法... 07/23 20:54
15F:推 mickeyboy: 感谢建议,长知识了 07/23 21:00
16F:推 JingX: 老板看到大家疯狂加班反而会觉得很爽,耐操=有价值=赚到了 07/24 07:31







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BuyTogether 或 站内搜寻

TOP