zoukankan      html  css  js  c++  java
  • 荼毒太深——结构化编程思想

    我在此处并没有想贬低结构化编程的优点,它有它自身的应用领域。

    在面向对象肆意泛滥的时候,我们有必要对面向对象进行恭维一下,也是因为面向对象确实帮我们解决了很多实际问题。

    大学里,我们就开始了C语言课程的学习,里面讲的最充分最彻底的是结构化编程思想,算法+数据结构构成了一切的一切,后来我们慢慢进化到了C++的时代,才发现语言原来还可以那么使用,这时候,才发现自己已经很难抵住自己原有的那些思想,很难彻底的应用面向对象的思想。

    以为在教科书里面看到的类便是面向对象, 以为会使用了一些类便是面向对象,实不然,面向对象距离我们还是很遥远,先是23个异常特殊的模式,之后是一系列的框架搭建。

    教科书里面随便掠过的那些异常,确是程序界的一大重大应用,可从C进化过来的人总是保留着对C美好的回忆,极少愿意使用异常(因为这个名字太可怕,以为程序必定会死掉),而大量的使用返回值来作为程序开发的大量手段。在内存以及CPU如此窘迫的年代,异常带来的开销实在是太大了,于是我们再一次被教条,我们无法区分我们现在的情形与写那些名著人数的年代是否还是一致的。

    古老的教学总是无法与现实的快速发展对应,学校总是要慢上两三拍,无法领悟深邃的计算机思想。

    我们已经习惯了,习惯了不怎么会使用类,习惯了不怎么去使用异常,除非语言结构要求你必须使用异常。我们无法在代码中区分,我们要写的究竟是C还是C++,因为确定不了,所以模糊,所以程序就混乱不堪。

    从C转到C++,是一个好处还是一个坏处,我已经只能不了了之了。


    记:

         有感于公司最近开发的程序,里面出现的大量的问题。

         1、多用异常,将错误信息带出来,同时也可以将业务流程更加清晰的展现出来。

         2、多用封装,哪怕不涉及到面向对象,也能够孤立一小部分代码,降低耦合性

         3、对错误或者不确定的地方,多用几个try与catch,好处与坏处是明显的。

         4、一定要记得判断内存申请是否成功(尤其是频繁申请的),函数调用是否成功的判断!

  • 相关阅读:
    Codeforces 512E
    UOJ #36 -【清华集训2014】玛里苟斯(线性基+暴搜)
    Codeforces 1188E
    洛谷 P7163
    C++ Boost库 操作日期与时间
    C/C++ 搜索缝隙并插入ShellCode
    线性代数学习之正交性,标准正交矩阵和投影
    洛谷 P5851 [USACO19DEC]Greedy Pie Eaters P(区间dp)
    洛谷 [NOIP2009 普及组] 道路游戏(dp)
    洛谷 P2890 [USACO07OPEN]Cheapest Palindrome G(区间dp)
  • 原文地址:https://www.cnblogs.com/ubunoon/p/1459265.html
Copyright © 2011-2022 走看看