博客
关于我
编程能力七段论(上)
阅读量:728 次
发布时间:2019-03-22

本文共 1377 字,大约阅读时间需要 4 分钟。

编程能力层次模型与编程范式探索

程序员的编程技能随着经验的积累,会逐步提高。我认为编程能力可以分为一些层次。接下来,我们将从两个维度展开编程能力层次模型的讨论:一个是编程技能层次,另一个是领域知识层次。

编程技能层次

编程技能层次,指的程序员设计和编写程序的能力。这是程序员的根本。通过时间的推移,程序员的能力会逐渐提升,从初学者到有一定经验的程序员,至于专家级程序员。

编程技能层次划分

  • 0段—非程序员:初学编程者,遇到问题时毫无头绪,不知道该怎么编写程序解决问题。这种状态离真正的程序员还有一段距离。
  • 1段—基础程序员:通过学习一些基础的编程知识,能够完成简单的编程任务。编写出的程序能在大多数情况下正常运行,但在遇到特殊条件时可能会出现各种BUG。
  • 2段—数据结构:程序员逐渐了解了“数据结构=程序”这一古训的含义,开始用算法解决问题。他们认识到算法依赖于数据结构,好的数据结构能够孕育出好的算法。
  • 3段—面向对象:程序员开始掌握面向对象编程的技术。面向对象的强大之处在于通过类和继承,能够更好地抽象和封装问题。
  • 4段—设计模式:程序员开始学习设计模式的概念。通过设计模式,程序的结构变得更加灵活和可维护。设计模式的核心思想是通过接口解耦,使程序能够更方便地适应需求变化。

编程范式探索

编程范式是编程中解决问题的基本思维方式,不同的语言有不同的编程范式。以下是几个主要的编程范式及其特点:

  • 静态类型编程范式:变量的类型在编译时就被确定下来。代表语言包括Java、C++、C#等。其优点是可以在编译时发现类型错误,提高程序性能;缺点是当涉及动态类型的需求时,灵活性较差。

  • 动态类型编程范式:变量的类型在运行时才能确定。这种范式更适合动态性强的需求,代表语言包括Python、Ruby、JavaScript等。其优点是程序逻辑更灵活;缺点是在类型不匹配时可能导致程序崩溃。

  • 面向对象编程范式:通过类和类的实例进行编程,能够更好地封装数据以及封装算法。早期编程语言都以面向过程为主,而面向对象的出现极大地提高了开发效率。

  • 函数式编程范式:语言的核心概念是函数,函数可以作为闭包用来封装数据和逻辑。这种范式强调函数的组合和模块化,适合需要高泛化性的应用。

  • 模板编程范式:通过模板体系,支持一套代码运行多种类型的需求。这种范式特别适用于需要容器库的开发,代表语言包括C、Java、C#等。

  • 一门语言是否值得学习

    一门语言是否值得学习,主要从以下几个方面来考虑:

  • 是否需要使用:如果你明确需要用到该语言,就值得学习。

  • 语言特性:该语言的特性是否能带来新的思考和见解。

  • 领域专家:语言是否在某个领域内有深厚的支持基础。

  • 架构设计

    在软件开发的后期阶段,架构设计的重要性不容忽视。好的架构设计能够为程序的性能、扩展性和维护性奠定坚实基础。常见的架构设计技巧包括:

    • 分层架构:将程序划分为表现层、接口层、服务层和存储层等模块,实现松耦合设计。

    • SOA架构:通过服务化接口实现模块间的松耦合通信,支持分布式开发。

    • 性能优化:通过异步处理、并行计算和缓存技术提升程序性能。

    • 大系统架构设计:采用切片技术将大型系统拆分为多个小系统进行独立开发和部署,利用SOA、Sharding等技术进行集成。

    • 低耦合高容错架构:通过模块化设计和容错机制,保证程序的高可用性和易于维护。

    转载地址:http://bkwwk.baihongyu.com/

    你可能感兴趣的文章
    NIFI从MySql中离线读取数据再导入到MySql中_无分页功能_02_转换数据_分割数据_提取JSON数据_替换拼接SQL_添加分页---大数据之Nifi工作笔记0037
    查看>>
    NIFI从PostGresql中离线读取数据再导入到MySql中_带有数据分页获取功能_不带分页不能用_NIFI资料太少了---大数据之Nifi工作笔记0039
    查看>>
    nifi使用过程-常见问题-以及入门总结---大数据之Nifi工作笔记0012
    查看>>
    NIFI分页获取Mysql数据_导入到Hbase中_并可通过phoenix客户端查询_含金量很高的一篇_搞了好久_实际操作05---大数据之Nifi工作笔记0045
    查看>>
    NIFI分页获取Postgresql数据到Hbase中_实际操作---大数据之Nifi工作笔记0049
    查看>>
    NIFI同步MySql数据_到SqlServer_错误_驱动程序无法通过使用安全套接字层(SSL)加密与SQL Server_Navicat连接SqlServer---大数据之Nifi工作笔记0047
    查看>>
    NIFI同步MySql数据源数据_到原始库hbase_同时对数据进行实时分析处理_同步到清洗库_实际操作06---大数据之Nifi工作笔记0046
    查看>>
    Nifi同步过程中报错create_time字段找不到_实际目标表和源表中没有这个字段---大数据之Nifi工作笔记0066
    查看>>
    NIFI大数据进阶_FlowFile拓扑_对FlowFile内容和属性的修改删除添加_介绍和描述_以及实际操作---大数据之Nifi工作笔记0023
    查看>>
    NIFI大数据进阶_FlowFile生成器_GenerateFlowFile处理器_ReplaceText处理器_处理器介绍_处理过程说明---大数据之Nifi工作笔记0019
    查看>>
    NIFI大数据进阶_FlowFile生成器_GenerateFlowFile处理器_ReplaceText处理器_实际操作---大数据之Nifi工作笔记0020
    查看>>
    NIFI大数据进阶_Json内容转换为Hive支持的文本格式_实际操作_02---大数据之Nifi工作笔记0032
    查看>>
    NIFI大数据进阶_Json内容转换为Hive支持的文本格式_操作方法说明_01_EvaluteJsonPath处理器---大数据之Nifi工作笔记0031
    查看>>
    NIFI大数据进阶_Kafka使用相关说明_实际操作Kafka消费者处理器_来消费kafka数据---大数据之Nifi工作笔记0037
    查看>>
    NIFI大数据进阶_Kafka使用相关说明_实际操作Kafka生产者---大数据之Nifi工作笔记0036
    查看>>
    NIFI大数据进阶_NIFI的模板和组的使用-介绍和实际操作_创建组_嵌套组_模板创建下载_导入---大数据之Nifi工作笔记0022
    查看>>
    NIFI大数据进阶_NIFI监控功能实际操作_Summary查看系统和处理器运行情况_viewDataProvenance查看_---大数据之Nifi工作笔记0026
    查看>>
    NIFI大数据进阶_NIFI监控的强大功能介绍_处理器面板_进程组面板_summary监控_data_provenance事件源---大数据之Nifi工作笔记0025
    查看>>
    NIFI大数据进阶_NIFI集群知识点_认识NIFI集群以及集群的组成部分---大数据之Nifi工作笔记0014
    查看>>
    NIFI大数据进阶_NIFI集群知识点_集群的断开_重连_退役_卸载_总结---大数据之Nifi工作笔记0018
    查看>>