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

关于提升编程效率的两点想法

  •  
  •   tool2d · 2021-11-22 18:04:23 +08:00 · 1421 次点击
    这是一个创建于 1103 天前的主题,其中的信息可能已经有所发展或是发生改变。

    第一是大项目的代码模块,一开始就要按照功能划分为很多子模块。不能大海捞针一样的,直接在几万行代码库里修改。

    否则过大的程序代码库,就意味着大脑负担大。同时数据量大,加载慢,调式慢,运行慢,多耦合,写代码自然也慢了。

    而轻量级的数据,能让单元测试写起来很顺手,事半功倍。

    第二是语法不能定太死,尽可能根据项目需求,引入 DSL ( domain-specific language ),来最大限度降低代码的阅读难度。

    条件允许的情况下,可以对源代码做二次预处理(比如 QT )。

    举个例子,JSX 语法肯定要比传统的 JS 拼接字符串有更高的可读性,但是代码都是必须经过编译的。

    4 条回复    2021-11-24 10:26:59 +08:00
    tool2d
        1
    tool2d  
    OP
       2021-11-22 20:35:02 +08:00
    第三,对代码库进行星空图重建,每个类之间,有双向链接是最好的。

    有时候不太重要的功能,会花去自己太多的编程时间,导致项目进度太紧张,产品质量下降。

    只有图才能最直观的显示,自己的精力用在了哪一个模块。有全局的掌控后,才不会陷入无限的代码细节。
    SmiteChow
        2
    SmiteChow  
       2021-11-23 09:31:23 +08:00   ❤️ 1
    你说的几乎不算提升效率的方法,而是工程实践的最佳方式。

    第一,提高内聚不可以超前规划,模块应该是慢慢重构长出来的
    第二,你要表达的是通过引入转换层节省一些枯燥的工作,这个与 DSL 是两个完全不同的概念。具体你可以查一查 transpiling vs compiling ,这个属于工具链范围,一般确定技术栈时就 fix 了
    第三,我没听过,不过我猜测应该类似代码模块规模可视化之类的透视图,这个也并不提升编程效率,而是为 review 或检测代码质量服务的
    caixiangyu17
        3
    caixiangyu17  
       2021-11-23 10:24:11 +08:00   ❤️ 1
    最好的提升效率的方法就是想办法杜绝摸鱼。我经历过效果最好的就是 pair programming 。现在每天早九晚五,一直 pair ,几乎没有摸鱼时间,效率极高,不用加班进度也很快。
    SmiteChow
        4
    SmiteChow  
       2021-11-24 10:26:59 +08:00
    @caixiangyu17 结对编程也是工程实践的最佳方式,可以省略掉后续 review 的时间,但要注意结对是为了质量,省掉时间只是副作用。

    提倡最佳实践目的是为了提高代码质量和可维护性,非要从效率这个词上评价的话应该是提升工程效率,质量差会有很多 bug ,修 bug 也会浪费很多时间。

    要提升编程效率还是要向提升专注度减少大脑上下文切换次数,比如限制在制品数量,会议数量,合适的背景音;提升命令频次减少按键次数,比如使用全功能 IDE ,可以编码、调试、UT 一把梭,AI 自动代码补全等这两方面下功夫。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2808 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 76ms · UTC 14:34 · PVG 22:34 · LAX 06:34 · JFK 09:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.