zoukankan      html  css  js  c++  java
  • 多次被坑了后,重温设计模式原则

         又一次深刻体会到了C++写代码时各领域交互要高度遵循面向接口编程,继承改组合的原则的必要。客户端和编辑器共用的一个逻辑模块完全采用继承方式重载某些virtual函数实现,突然,某一天有人修改了公共模块的某函数的参数类型。这尼玛悲剧的,瞅代码半天疑惑咋多态没起作用。这要是面向接口编程,编译器早就告诉我错误了。
     
         还好我刚开始工作的时候就有人拿设计模式砸我,独立完成的第一个C++引擎编辑中间层模块就有人指点我设计原则。后期的引擎维护阶段,我尽量做好领域分析,边界控制,太怕耦合了,尽量做到代码互不影响,让大家都少给其他人擦屁股。为啥现在的产品程序员都不注重依赖倒置呢,看现在的代码,完全就是在违背设计模式原则,腐烂的征兆了。

         我曾经视图跟同事讨论设计的原则或者规范,但总不得果,我经验尚浅,面窄,不足以说服人。程序员之间关于编码规范的讨论往往将导致狂热的辩论,我依然认为这里有一些最低限度。代码易于阅读、理解和维护是一个非常重要的非功能性需求,某些好的规范还能使得代码更小更容易测试和更不容易出错。讲到这里顺便吐槽一下项目工程中偶尔使用的lamda表达式,第一眼看到,不懂,学了一下,增加了新知识,但是很明显,写起来简单却不易于阅读维护。前段时间game engine artitecture翻了几章节,里边有一句特别给力的英文我牢记小本本了,共勉了。
    Remember that high-level programming languages like C++ are intended for humans to read.
  • 相关阅读:
    flock对文件锁定读写操作的问题 简单
    hdu 2899 Strange Fuction(二分)
    hdu 2199 Can you solve this equation? (二分)
    poj 3080 Blue Jeans (KMP)
    poj 2823 Sliding Window (单调队列)
    poj 2001 Shortest Prefixes (trie)
    poj 2503 Babelfish (trie)
    poj 1936 All in All
    hdu 3507 Print Article (DP, Monotone Queue)
    fzu 1894 志愿者选拔 (单调队列)
  • 原文地址:https://www.cnblogs.com/hellohuan/p/3511157.html
Copyright © 2011-2022 走看看