×

Loading...

孙子兵法与程序断点

孙子曰:故上兵伐謀,其次伐交,其次伐兵,其下攻城。

伐谋:程序设计的好,架构清晰,层次分明,模块间互不干涉内政,外加 extensive unit tests。

伐交:well placed log statements。

伐兵:遇到小虫子先看症状,再用脑子分析,再做些调查研究。

攻城:设断点。
Sign in and Reply
Modify
Report

Replies, comments and Discussions:

  • 工作学习 / 学科技术讨论 / 孙子兵法与程序断点
    • 不懂,帮顶。。。
    • 大体上是对的,不过,log 和断点差不多,用脑子分析应该在这两个之上。
    • 有时候在 debug mode 不是为了debug, 只是快速浏览从 3rd party api 返回的 object graph... anyways, real coder knows what im talking about....
      • 步进?
        俺不是 CODER,瞎猜的。
      • 俺不是说断点有罪,俺只是说不应该嘲笑不会断点的人,尤其是学生。不会断点一样可以编程,即使是 object graph,也可以通过生成一个 exception 来获得。
        • 然后自己写个 visualizer 集成在自己的 trace / log system 里?lol....
          • X兄这个 visualizer 用的极妙。俺常常想编程是不是需要什么天赋,俺慢慢觉得这个天赋也许就是脑子里有一个 visualizer。无中能 visualize 有,乱中能 visualize 形,迷宫里能 visualize 通途。有了这个 visualizer,想设断点的冲动想必会减少很多。
            • data visualization 只是将 data 变成 information 最基本的第一步而已... 编程编得好,还需要大量其他 skills / 天赋...
              • CODING 和语言不是一样吗?都是语言。能说是一回事儿,说好是另一回事儿。不是一个道理吗?
                • 不一样。coding 好坏有唯一的检验标准 -- 准确并且简练。语言么,可以是华丽的散文,也可以是意识流,云山雾绕,目的就是把人搞晕...
                  • 还是和语言一样,计算机也会被搞晕,最终死机,比人还不如
                  • 如果这么简单明了,哪么可能大部分靠写CODE 讨生活的人可能就没饭吃了。
                  • "准确",“简练” 这两个词本身就不准确得很啊。
    • 接地儿感慨一下,写程序写了十多近二十年,现在看到程序就有看到大海的感觉----想吐(偶晕船),总想给软件工程的各个阶段建立点儿数学模型,找了些相关资料,看了之后更丧气。
      这儿有一篇综述性的文章,红同学你怎么看?
      • 心态呀心态. 如果不吐, 老板自己就干了, 何必Pay你去干.
        • 老板是搞不清楚我在干什么滴。
    • 学院派搞算法的,很看不起用断点DEBUG程序。用断点DEBUG程序, 说明你写程序时,脑子不清楚。
      • breakpoint多数用于接手别人的程序时
    • 完料。看过这个才发现,我攻城都没攻好。
      • 没关系,年轻有为
        • 老大,我可不年轻了,我是装嫩。