Juzen

© Juzen | Powered by LOFTER
 

【代码精进之路-02】

  • 要养成习惯,看到声明的变量就要琢磨,这个变量能不能声明成不可变的量

  • 减少阻塞时间的一个办法就是只同步和共享资源变化相关的逻辑。

  • 学会技术后,基本概念就会回来找我们算旧账,出错一次就记一笔账,账本变厚过程,也是我们向基本概念靠拢的过程。

  • 线程有两个重要的特征,就是并发执行和共享进程资源。

  • 线程同步就是一个接一个,上一个线程没有完成一项任务之前, 下一个线程不能开始相关的行动,简单而言,就是排队。

  • 提高内存使用最有效办法,就是使用更少的内存,减少内存的使用,意味着更少的内存分配,填充,释放,垃圾回收。内存的使用减少1倍,代码的效率会成倍提升,不是简单的线性关系。减少内存使用只有两个办法,减少实例数量及尺寸

  • 尽可能共享资源,这是提高效率的基本原则,如果能引用,就坚决不拷贝,能复用就坚决不创新。

  • 同步就是很多事情一步一步地做,做完上步才能做下步。异步,就是做事情不需要一步一步,多件事情,可以独立地做。

  • 频繁对象创建、销毁有损代码的效率,减少内存分配,拷贝,释放的频率,可以提高代码的效率,即使是单线程环境,使用线程同步依然有损代码的效率。

  • 规模扩张主要两种方式,规模垂直扩张,规模水平扩张。规模垂直扩张指的是提高同一个处理单元更多的负载能力,但是规模垂直扩张成本很高,而且是非线性的。规模水平扩张指的是增加更多处理单元,来处理更多的负载。

  • 最有效率的编码就是少编写代码,甚至不写代码,商业的规模依赖于可复制性,代码的质量依赖于可复用性。

  • 一般来说,当我们使用类似的代码或类似的功能超过两次时,就应该考虑这样的代码是不是可以复用了。

  • 要尽早地考虑性能问题,性能的实践经验需要日积月累。

  • 有了意识,我么才会去寻找技术,寻找工具,寻找解决办法,大部分代码的问题,其实都是意识和见识带来的问题。

  • 从用户感受的角度出发,定义和计量软件缺陷,软件的缺陷的严重程度应该和用户的痛苦程度成正比。

  • 抽象的数据一旦有了现实的意义,便有了具体的现实约束,一定要考虑这些约束。

  • 对于一个类中不可变量,一般我们使用浅拷贝也就可以了。

  • 一个好的程序员是时间堆积起来的,只有持续地了解、积累、训练,才能慢慢地到达一个期望水准,才能建立巩固自己的技术优势

  • 要学习一点难的东西,这样才能走到更远的地方

  • 无论是编程工具还是具体问题,都需要专业知识,一般来说,一个优秀的程序员,这两样东西都要学习,而且还能把它们结合起来。

评论