编码习惯、架构、风格
=。= 发发牢骚,自我标榜
声明和定义,很多同学都分不清两者,因为它们经常在同一行出现,所以也没多少人去注意。
java系单文件,而c系分.h文件和.c文件
而objc就更搞怪了,在c的基础上加对象,搞出一些有点怪的语法出来==
相当多的时候,是无须继承的,而且继承并非想象中那么容易驾驭。
父类尽可能简单。
用复合多的同学,思想觉悟会高点。
层次区分,该在上层暴露的要做好暴露,不是动不动包起来private藏着。
代码应该写直白一点,一个变量只能有一个意思。
比较玄的地方,要写注释,¥…×@#¥&)@
最近做一个模块,可以重用旧模块,无奈内部纠缠得厉害。
什么叫“耦合”、“解耦”,在这里一讲就明白了这些词的意思。
继承覆盖,局部重写,蛋疼。明明有协议你不用,NND。
委托,把事情交给别人做
或者把别人要做的事情,传进来帮他做。
两者很相似,目的也一样,一个是出,一个是进。
几件事情切换,会导致员工烦躁,勿留手尾。
避免重复访问数据的方法是将接口分细,
而接口太细也会导致访问次数增多,权衡。
程序员相当忌讳大坨的代码,大坨代码意味着危险
函数过大、类过大、层次过多
直接使用变量,而不使用方法。
一份数据给三个人引用,那么得加三个分开关,而不能是一个总开关。
一个总开关阻挡不了业务的变化。
一部大机器,由不同小机器组成,可能因为某个部件,导致整个大机器停止工作,
损失是巨大的。如果将损失降至最低?
将依赖降至最少,有依赖的地方加强保护。
数量、版本多,意味着可控性差,这个也符合人类的大脑,不能同时处理多件事情。
所以有人说,版本控制是扯淡。一般公司做不来版本控制,只有一个版本,最新那个。
难怪小公司在很多东西上都比较自由,因为没成本做这些。
关系要明显,这样才能愉快的顺藤摸瓜。怎样才能写出关系明了的code?
函数的实现,最好在一个对象内,要不委托就要显式指出。
数据控制型、函数方法控制型
两者区别是什么?前者直接使用数据,后者通过方法来操作数据。
使用方法具有更好的可读性。
多态这些东西,就是用来拆分嵌套的if语句。多层if-else 的确会晕-。-
但是有几个人会为此去写多几个类,更多人认为得不尝失。
那么,就降一级,使用更多的方法来划分逻辑吧。
有时会因为重用,而增加逻辑代码,copy也不是永远是错的。
老生常谈的取舍蛋疼问题。
代码为什么会写得混乱,最后无法控制?
CoderMan最忌讳的事情莫过于没有弄清需求、数据接口等问题而冒然、想当然行事了。
特别是在时间设限,迫不得已摸黑过河。即使是这样,及时重构反馈也能挽救。
但往往在这时会产生这种心理:没问题跑得通就可以了,后来问题就像滚雪球那样-..-