我发现我最近开发新需求的速度变慢了多,经过反复的反省,发现是我喜欢敲四五行代码就去 f12 那里看看执行情况。以前都是敲完几十行代码,逻辑明白,然后通过记忆各个变量的位置以及含义去 debugger。
我感觉是不是因为最近加班多了,导致大脑存储能力变差了?细思极恐。。各位敲代码也是类似这样吗?
1
likuku 2018-10-27 14:19:42 +08:00
那么不如就走 TDD 路线吧
|
2
lihongjie0209 2018-10-27 14:22:01 +08:00
脚本语言的话 ,类似 python 是一遍在交互式终端测试, 测试没问题之后复制到代码中
静态类型的语言, 类似 JAVA, 可以直接写完逻辑然后跑一遍就好了, 因为编译器帮你干了很多事 |
3
IridescentChen 2018-10-27 14:26:22 +08:00 via Android
我一般是,如果感觉状态良好,一遍下来思路清晰,没什么大问题就敲完了再 debug。如果感觉某个地方有问题,或者没想好,就 //,把敲好的 debug
|
4
binux 2018-10-27 14:27:35 +08:00 1
如果对上下文和 API 很熟悉的时候,都是一次性写完所有代码,然后写测试。运行一遍,改几个小 bug 就 ok 了。
如果对 API 不熟悉,开个交互式界面,把输出弄出来,仍注释里,然后一次性写完。 如果是算法类程序,先写测试,然后一次性写完代码。然后根据需要加 print,从来不用 debugger。 |
5
suckli 2018-10-27 17:01:19 +08:00
当然是写完了 DEBUG,在思路清晰的前提下。
|
6
ShareDuck 2018-10-27 17:52:18 +08:00 1
很明显,你效率降低不是因为多了查看运行,而是上 V2EX 划水。
|
7
iloveyouso OP @ShareDuck 诶,你还真别说,每一次回去看 f12 总不经意的撇到旁边的 v2ex
|
8
leekafai 2018-10-27 19:13:48 +08:00 via Android
看情况吧,一般来说我会先面向过程,写几个空方法作为过程验证,如果过程逻辑没有问题,就填充方法逻辑。当功能验证之后,我最后再考虑做通用抽象,因为业务逻辑一般只是局部通用,抽象太早的意义不大,但是最后不做抽象和封装的话,扩展性就不好了。
|
9
wohenyingyu02 2018-10-27 19:21:42 +08:00
喜欢全部敲完,但是过程中会有留几个坑等几个模块完成后再连起来,问题是经常忘了,导致运行一堆 bug
|
10
Gcourage 2018-10-27 19:26:01 +08:00 via Android
我感觉这个才是对的吧,不过方法,可以继承类似 gtest 等 ut 框架写测试用例来验证。
|
11
storypanda 2018-10-27 19:27:46 +08:00 via Android
我是打算边敲代码边 debuger,看到开发的功能在手机上实现会有成就感,对了我是初学者,需要了解模块的功能以及逻辑。
也想全部敲完,就怕一堆 bug,结果最后没信心。 |
12
envylee 2018-10-27 22:21:34 +08:00
“不要过早优化”
|
13
trait 2018-10-27 22:26:12 +08:00
讲道理 debugger 是遇到测试没发现之类的偏底层的错误才用的到吧,靠 debugger 来修正代码逻辑得多慢啊
|
14
dapang1221 2018-10-27 23:30:18 +08:00
一般情况就是全写完先跑一遍,万一跑通了呢,而且平时基本也都在写 crud,基本一遍就能过。
偶尔需要做点算法,或是整理一个奇葩数组时,整理完 print 一下,看下结构符不符合预期,然后继续写。 如果遇到对接别人接口,先在 paw 里拿数据测试下,看下对方接口返回的是不是跟文档一样,没问题的话也是全写完,中间做好各种异常处理,基本也能一遍过。 |
15
test0x01 2018-10-28 11:58:31 +08:00 via Android
先敲完,目测 diff 一遍,写单元测试,写完跑,修 bug,完工!
|