你们开发新功能的时候,是喜欢一次性敲完大部分代码,然后边敲代码边 debugger?

2018-10-27 14:15:16 +08:00
 iloveyouso

我发现我最近开发新需求的速度变慢了多,经过反复的反省,发现是我喜欢敲四五行代码就去 f12 那里看看执行情况。以前都是敲完几十行代码,逻辑明白,然后通过记忆各个变量的位置以及含义去 debugger。

我感觉是不是因为最近加班多了,导致大脑存储能力变差了?细思极恐。。各位敲代码也是类似这样吗?

3424 次点击
所在节点    程序员
15 条回复
likuku
2018-10-27 14:19:42 +08:00
那么不如就走 TDD 路线吧
lihongjie0209
2018-10-27 14:22:01 +08:00
脚本语言的话 ,类似 python 是一遍在交互式终端测试, 测试没问题之后复制到代码中



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

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/501662

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX