Keep It Simple, Stupid. 是指在设计当中应当注重简约的原则。保持简单(避免复杂)永远是你应该做的第一件事,简单的代码不仅写起来简单、不容易出Bug,还易于维护,让人使用和理解都是顺其自然、轻轻松松,而不是让人费劲心思的去消化。
总结工程专业人员在设计过程中的经验,大多数系统的设计应保持简洁和单纯,而不掺入非必要的复杂性,这样的系统运作成效会取得最优,而且不会出意外问题。因此简单性应该是设计中的关键目标,尽量回避免不必要的复杂性。将该原则应用于工作中的表现:
- 尽量保持系统的核心模块算法逻辑尽可能的简单而有效,复杂的算法很多时候并不会带来多少效果,还不易测试容易出bug
- 将你的任务按天按小时的来拆分为子任务
- 把你的问题拆分成多个小问题。每个问题用一个或者很少的几个类来解决掉
- 让你的类小点。即遵循单一职责原则,控制类的粒度保持高内聚性
- 保持你的方法足够小,每个方法永远不要有太多行代码。每个方法都应该只处理一个小小的问题。
- 先解决问题再开始编码,编码会简单很多
- 不要害怕干掉旧代码,重构会干掉很多冗余复杂的垃圾代码
提前设计和提前优化都是编码的万恶之源。避免提前设计可以带来很多好处:更少的时间去设计和编码,更少的测试,更少的代码维护,更多的时间用于更重要的功能、文档编写等。大多数软件开发都是根据客户的需求进行的,最后呈现给你的实际需求到底是什么样子的根本无法预测,提前设计和实现的功能很大可能性完全无用,浪费时间精力,还可能引入未知的问题。而提前优化同样问题多多,先实现功能才是第一要务,只有实现功能之后才应该去考虑优化的问题。一边实现一边优化就会转移自己的专注度,编码缓慢影响进度,还会导致bug发生,而且优化和未优化的代码也许性能差别几乎没有。
旨在软件开发中,减少重复的信息。系统中的每一部分,都必须有一个单一的、明确的、权威的代表,类似统一接口人,这样需要使用的时候就知道找谁,而不是既可以找A又可以找B,导致有的地方找A,有的地方找B,修改时引入巨大的混乱麻烦。具体比如:拒绝代码重复、文档重复、数据重复、重复造轮子,重复的事项尽可能使用自动化程序解决。当然也不要过于去追求拒绝重复而破坏了类的内聚性。
为维护者编写程序。比如让代码有自解释的功能,在逻辑复杂的地方尽可能的有详细注释。在你编写代码的时候永远记得将来可能需要维护他,这也是在为自己省事,省的到时自己修改程序时还得重新理清逻辑,费时费力还可能引入bug。
没有经过测试的代码是不能上生产环境的。是人就会写出bug,所以需要测试。无法测试或不易测试的代码可以看出写的是多么的糟糕,让人难以理解。
必须要清楚的知道你的编程环境,熟悉他们就不怕会不会发生自己不知道的情况。如果你需要完成一项任务,最好的方式是不要引进“新的内容”,只有当你完全掌握“新的内容”的时候再去考虑引入,不然就可能引入未知的问题。
在编写程序的核心模块时,尽可能保证准确,可以用时更多,详细检查;而在编写不重要部分时可以加快速度。
编程时遵循:开闭原则、里氏替换原则、依赖倒置原则、单一职责原则、接口隔离原则、迪米特法则。
重复的事情使用自动化程序去做;不要重复去造轮子;多想想怎么可以使自己更轻松就会有一些好点子。
编码只是一种实现方式,而不是解决方案。我们是为了解决问题,而不是为了去编码,所以能解决问题就好,编码只是其中的一种手段。
尤其是在刚开始的时候,我以为我什么都能学会,在开发生涯的大部分时间里,我都是这样想的。但是,每次我学了什么新东西,就打开了一个全新的世界,里面有不同的概念和技术。那似乎很有吸引力,你很愿意尝试,希望把什么都学会,但这是一个没有终点的旅程。如果要学的话,总是有其他的库、框架以及其他很酷的东西可以学。因为似乎永远无法达成自己的目标,所以最终你的热情会慢慢冷却。最好是立足于你最擅长的东西,然后因需而学,即在真正需要的时候才学习新东西。这可以让你保持清醒,维持学习的动力。你还可以把这一点应用在任何其他的领域。不是什么都知道才能达成预期的结果。利用这一点来打造自己的优势,在需要的时候学习。
持续不断地做某件事可以帮助你成为专家。但并不是一次性投入 10 个小时,而是每天投入半小时或一小时。不断的重复可以让你越来越擅长做某件事。开始的时候,你会经常查资料,逐渐地,你查的次数会越来越少。你的大脑慢慢地习得了相应的模式并保存了下来。
休息有助于大脑恢复,有助于分散拓展思维,先前的停滞就像卡bug似的,稍微停留下来观察,会发现还有其他路可走。
独立工作很好,但也会把你局限在自己的能力范围内。在一个好的团队中,交谈和讨论可以在很大程度上影响你的思维过程,也会拓宽你的视线,这样子的进步远比一个人慢慢摸索来的快的多。
熟人内推工作比自己投简历靠谱得多。
在以前,我以为只要我付出足够的努力就可以获得回报。但事实证明,事情并非如此,没有人过来给我提供晋升机会或为我加薪,我只是在无人注意的情况下继续工作。
不要把公司想得太好,这世界就是个草台班子。
不要陷到了一心钻研技术的泥潭里去,不然不会有好结果。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/175956.html