V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wyan453351466
V2EX  ›  程序员

在编程的时候,你会花多长的时间来思考?

  •  
  •   wyan453351466 · 2019-12-11 09:25:21 +08:00 · 4940 次点击
    这是一个创建于 1812 天前的主题,其中的信息可能已经有所发展或是发生改变。

    看到一个说法是,编程应该用 80%的时间思考 + 20%的时间写代码。

    你如何看看待这个说法?

    你会在编程前,先花 80%的时间用来思考吗。

    或者说,你有在开发前,先写好思路 /文档 /流程图的习惯吗

    42 条回复    2019-12-12 15:12:35 +08:00
    meepo3927
        1
    meepo3927  
       2019-12-11 09:28:39 +08:00
    确实是 80%的时间思考, 其中 90%是在思考怎么调试。
    37Y37
        2
    37Y37  
       2019-12-11 09:29:10 +08:00
    对于我来说 80%可能有点多,但至少也有一半,可能跟写的东西有关,我写的一般也就只有我是需求,从前端到后端一人撸下来,也没太多时间限制,所以想的时间多点
    pingpingping
        3
    pingpingping  
       2019-12-11 09:30:32 +08:00
    先草草写下来,然后不断完善,完善过程中思考?
    很久没写了,最近都是这么操作的,感觉效率不高可能
    diubo
        4
    diubo  
       2019-12-11 09:34:49 +08:00
    时间上不一定 80/20,但动手前的思考,确实对开发效率影响很大,尤其是前后端一个撸的情况下。
    Flobit
        5
    Flobit  
       2019-12-11 09:39:03 +08:00 via Android
    反正先想清楚最好,避免写着写着发现不对……
    zgl263885
        6
    zgl263885  
       2019-12-11 09:40:10 +08:00 via iPhone
    不是必须,但是差不多,上去就是干的一般都干到半夜还干不完
    mcfog
        7
    mcfog  
       2019-12-11 09:40:22 +08:00 via Android   ❤️ 1
    是 80%,但不是集中在编程前,不是瀑布式的先全想好,然后无脑实现。而是先总体设计,然后实现的同时考虑细节、异常、维护性等等
    season4675
        8
    season4675  
       2019-12-11 09:41:16 +08:00
    40%思考,10%写代码,50%调试和解 bug
    IGJacklove
        9
    IGJacklove  
       2019-12-11 09:44:02 +08:00
    会先考虑逻辑可行性,觉得没问题就直接写。过于纠结时间比没什么意义吧
    Leonard
        10
    Leonard  
       2019-12-11 09:48:26 +08:00
    看你写什么东西,写简单逻辑或者 UI 的话只管上手就行了
    zunceng
        11
    zunceng  
       2019-12-11 09:50:03 +08:00
    实际开发中 项目越大 思考的占的比例越大 , 主要原因是程序的主干框架变得更重要

    前期主要是做抽象考虑程序的主干框架, 不考虑细节。
    编码时处理细节也很重要 工业(生产)级别的代码 一般来说每个 error 都需要 handling, 这个需要查手册 局部的代码逻辑思考 必须在编码过程中处理的, 没必要一开始就想好。
    Vegetable
        12
    Vegetable  
       2019-12-11 09:52:05 +08:00
    思考实际上是在设计,不同人的岗位职责不同,设计需要的时间也肯定不一样.负责搭建架构的人肯定要想更多,按照接口文档撸 crud 自然就没什么可设计的,经验丰富的话就等于抄.
    zunceng
        13
    zunceng  
       2019-12-11 10:04:01 +08:00
    对于一些依赖比较少的项目 比如 linux 内核,前期很多时间花在前期看论文查资料上, 编码时使用的其他模块 API 甚至 API 的报错对于开发者来说已经很熟悉了, 确实可以做到, 编码占很少时间。

    对于现在一些应用开发, 处于一种 API 爆炸的阶段 一个应用可选择的第三方库,细节处理方式都很多, 对于开发者来说不熟悉就要花更多时间。

    不用太在意 “应该用 80%的时间思考 + 20%的时间写代码” 这句话怎么适合自己适合团队就行
    fengbjhqs
        14
    fengbjhqs  
       2019-12-11 10:09:11 +08:00
    要看复杂程度, 经验,
    cwjokaka
        15
    cwjokaka  
       2019-12-11 10:14:16 +08:00
    花少部分时间思考,先实现最基本的功能,测试,再优化
    sonxzjw
        16
    sonxzjw  
       2019-12-11 10:22:41 +08:00
    看情况,流水线不怎么需要脑子的,20%绰绰有余
    设计的话,我基本要超过 50%进行思考设计
    weer0026
        17
    weer0026  
       2019-12-11 10:23:14 +08:00
    思考比重肯定很大,但是我没思路了就会先写一会儿找找灵感。
    wlfeng
        18
    wlfeng  
       2019-12-11 14:07:58 +08:00
    先全部理清了再动手,中途发现问题再做调整
    qinyusen
        19
    qinyusen  
       2019-12-11 16:14:22 +08:00
    90%的时间想清楚,然后写测试(测试即用例),然后 10%差不多就能写了,因为想清楚了,而且测试写完,不会有模糊不清的需求和功能,直接搬砖就行。。。10%时间很充足。
    zhujz
        20
    zhujz  
       2019-12-11 16:15:37 +08:00
    公司急着上线,根本没时间想怎么搞,基本是能实现功能就上了。
    gpra8764
        21
    gpra8764  
       2019-12-11 16:23:55 +08:00
    写底层至少要按这比例,堆 UI 差不多适当降低思考比例
    otakustay
        22
    otakustay  
       2019-12-11 17:24:43 +08:00
    思考大部分并不是在编程的时候的,比如吃饭时、蹲坑时、睡觉时、看动画时、玩游戏时、坐地铁时……所以真正编程的时候,思考绝对不会有 80%的比例的,太假了
    zhybb2010
        23
    zhybb2010  
       2019-12-11 17:55:04 +08:00
    前后端一个人,运维架构一个人,纯思考占总项目时间的 30-%40%,coding 中思考占 coding 中的 70%。。。
    xxyang
        24
    xxyang  
       2019-12-11 18:28:49 +08:00
    看有没有复杂的逻辑,没有的话信手拈来
    xiri
        25
    xiri  
       2019-12-11 21:44:58 +08:00
    大部分时间花在思考怎么调试、修改上了
    INCerry
        26
    INCerry  
       2019-12-11 21:46:55 +08:00
    40%的时间和产品撕逼
    INCerry
        27
    INCerry  
       2019-12-11 21:48:56 +08:00
    40%的时间和产品撕逼
    30%的时间和对接方撕逼
    20%的时间在试图理解别人的代码
    2%的时间写代码
    8%的时间在调试
    visonme
        28
    visonme  
       2019-12-11 21:58:14 +08:00
    曾经有过这样 80%思考(程前准备),20%编码, 那种感觉确实很爽(编码过程) ,而且效率确实很高,各种出错率都低了不少....

    可现实中,这样的机会很少,大多数时候都是 10%思考,40%跟各类人群沟通 /确认 /等等 30%编码 20%修改
    good1uck
        29
    good1uck  
       2019-12-11 23:02:28 +08:00
    0s
    JamesR
        30
    JamesR  
       2019-12-12 00:18:04 +08:00
    20%写代码,50%测试修 Bug,30%思考。
    wangkun025
        31
    wangkun025  
       2019-12-12 00:18:46 +08:00
    我花 80%的时间胡思乱想
    charlie21
        32
    charlie21  
       2019-12-12 01:00:05 +08:00 via Android
    主要是思考怎么和别人的垃圾代码对接。自己写 不用思考
    loading
        33
    loading  
       2019-12-12 01:03:40 +08:00 via Android
    80,10,10
    思考,ctrl c,ctrl v
    driveby
        34
    driveby  
       2019-12-12 01:37:47 +08:00
    ![截屏 2019-12-12 上午 1.35.23.png]( )
    driveby
        35
    driveby  
       2019-12-12 01:38:31 +08:00
    @driveby 图片粘贴错了,不好意思。。。
    sikong31
        36
    sikong31  
       2019-12-12 09:38:37 +08:00
    先快速实现一遍,摸清细节,再慢慢改。除非经验特别丰富,计划赶不上变化
    luvroot
        37
    luvroot  
       2019-12-12 10:36:41 +08:00
    90%在做别的事情,1%的时间在 一把梭子,拿起键盘就是干,9%的时间再被各种隐藏 bug 坑得死去活来。
    FlexGap
        38
    FlexGap  
       2019-12-12 13:14:57 +08:00
    思考肯定是有的,但是就我个人来说,可能不会花 80%那么多。还有就是看项目,小项目一般就是草写之后不断迭代优化。
    zhanlanhuizhang
        39
    zhanlanhuizhang  
       2019-12-12 13:53:36 +08:00
    每次,思考的时间占用过多。造成后面天天加班,赶进度。
    lewinlan
        40
    lewinlan  
       2019-12-12 14:20:26 +08:00
    大概 50%思考,50%编码+单元测试+整体测试解 bug

    看项目难易度,如果是起一个新的模块,那思考的时间会多一点,相当于干了产品经理的活。如果是熟悉的或者相对健壮的模块增加功能,那思考时间就少很多。
    CantSee
        41
    CantSee  
       2019-12-12 14:27:40 +08:00
    40-50%的时间来进行思考 10%开发,30%调试和优化,20%摸鱼
    jedihy
        42
    jedihy  
       2019-12-12 15:12:35 +08:00
    写 iOS 和前端的时候基本不思考,直接撸。基本不会推倒重来,因为就那么多东西。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5897 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 06:13 · PVG 14:13 · LAX 22:13 · JFK 01:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.