1、保持代码的简洁和直接,不要花里胡哨;
2、当需要某功能的时候再去实现它;
3、尽可能地避免写重复的代码;
4、应注意信息的隐蔽性,不要把功能的细节暴露给调用者;
例:
隐蔽性差的代码:
class Door
{
public:
enum class State
{
closed,
open,
opening,
closing
}
State getState()const;
private:
State state;
};
调用时:
Door door;
Door::State doorState = door.getState();
if(doorState == Door::State::closed)
{
...
}
这里调用的时候已经把内部定义的结构体暴露给调用者了,如果多个地方都这么写,那在类里修改后多个地方也要修改。
隐蔽性好的代码:
class Door
{
public:
bool isClosed()const;
bool isOpen();
bool isOpening();
bool isClosing();
private:
enum class State
{
closed,
open,
opening,
closing
}
State state;
};
调用:
Door door;
if(door.isOpen())
{
}
5、高内聚原则:相互依赖的模块放在一起;
6、松耦合原则:编写的模块应尽量少的和其他独立模块相关联;
7、只要没有遇到性能瓶颈,就尽量避免对程序进行优化,否则不但程序性能提升有限还浪费时间;
8、最少惊讶原则:程序反应应符合用户的预期。例如程序报错用户预期会有弹窗提示,又例如复制功能的快捷键用户习惯一般是 Ctrl+C。不应该标新立异而与用户预期不同;
9、发现代码有需要改进的地方就应该立马修正它。