美文网首页
《程序员修炼之道》

《程序员修炼之道》

作者: EmilioWong | 来源:发表于2018-07-18 21:15 被阅读0次

    一些收获

    • 知识资产的投资之一:参加本地用户组织,打听下别的公司的人都在做什么
    • shell的重要性
    • 学习一种文本操作语言,如Perl
    • java中把某个对象在使用完后故意设为null,使指向这个对象的指针减一。一旦此计数打到零,对象就会符合垃圾收集的条件。这堆长期运行的程序可能会有重要意义,在这样的程序里,需要确保内存使用不会随时间而增长。
    • UML活动图的同步条粗线:一旦去往某个同步条的所有动作完成,就可以继续沿着任何离开同步条的箭头前进;没有箭头进入的活动可在任何时候开始。使用活动图,通过找出本来可以,但却没有并行执行的动作,使并行度最大化。
    • 不要靠巧合编程
    • 比起建筑而言,软件开发更像是园艺。我以前也偏向于把软件开发的过程比作建筑,但建筑在修建完后是不会有大的变动的,而实际上软件在不断的迭代中,会不断得重构,这可能不是修修补补,而是大的结构上的变动。园艺会在植物的生长过程中,可能还会修改植株的相对位置,以有效利用光影,风雨的交互作用,过度生长的植株会被修剪。这个过程中需要不断关注花园的兴旺,根据需要对土壤,植株,布局做出调整。
    • 需要重构的代码,可以比作肿瘤。
    • 一般而言,注释应该讨论为何要做某事、他的目的和目标。

    一点疑惑

    • 书中似乎一直在抵触IDE。依赖IDE是否是错的?难道一定要用文本编译器去写代码么?以IDEA为例,它提供了自动生成getter/setter,而书中关于文本操作语言的应用实例里,有一点就是说的用Perl脚本生成getter/setter。那么我用IDEA自动生成不行么?IDEA还提供文本编辑器能提供排版功能,还有重构功能,等等。这点是我不能接受的。
    • java源码中是否有必要写断言?能否用异常代替。一种是逻辑上不可能发生的,一种是入参等格式上不可能发生的错误,这两种情况是否都可用异常?

    相关文章

      网友评论

          本文标题:《程序员修炼之道》

          本文链接:https://www.haomeiwen.com/subject/pdvapftx.html