码农的自我修养--学习笔记

本文旨在从高软课程的学习的过程中,积累一些知识点,并给予记录

1. 编辑器/IDE的选择

  第一课课程学习过程中,主要学习了各种不同的编辑器,IDE。

码农的自我修养--学习笔记_第1张图片

 

首先提到的VIM。Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。VIM是自由软件。Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Emacs的不同变体。1999 年Emacs被选为Linuxworld文本编辑分类的优胜者,Vim屈居第二。但在2000年2月Vim赢得了Slashdot Beanie的最佳开放源代码文本编辑器大奖,又将Emacs推至二线, 总的来看, Vim和Emacs在文本编辑方面都是非常优秀的。

但是Vim仍然有缺点,比如不够直观,没有图形操作界面。想要精通vim编辑器需要长时间的专精和反复使用,入门门槛过高等。因此,基于Win操作系统的VSCode成为了目前流行的编辑器。

 

Visual Studio Code(以下简称vscode)是一个轻量且强大的跨平台开源代码编辑器(IDE),支持Windows,OS X和Linux。内置JavaScript、TypeScript和Node.js支持,而且拥有丰富的插件生态系统,可通过安装插件来支持 C++、C#、Python、PHP等其他语言。

码农的自我修养--学习笔记_第2张图片

 

 本人的VSCode打开界面。

 

当然,在个人的使用过程中,还有为各种语言所创造的各种各样的IDE。比如我正在使用的python语言的IDE pycharm

码农的自我修养--学习笔记_第3张图片

 这种专门的IDE集成了编辑器与编译/解释器的功能,让写出的代码可以即刻开始编译运行。在大型生产开发过程中是必不可少的利器。

对于C/C++来说,也有相对应的IDE,例如比较老一点的DevC++,codeblock等等。此外还有集大成于一身的Visual Studio,针对不同的语言

有不同的扩展选项。

 

2. 正则表达式的使用

  接下来的课程中降到了正则表达式的使用。正则表达式,又称规则表达式(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

 正则表达式的语法规则有很多,从PPT中精简如下:

  1. 通过/*****/的形式进行匹配
  2. 想要匹配多个选项时,用或符号“|”进行分割
  3. 通配符:"."代表适配一个字符,"+"代表适配1个或多个字符,"*"代表适配0个或多个字符,"?"代表前一个字符可能存在
  4. 在某一位字符有多重可能性时,用[。。。]表示,从而节省 | 表示。
  5. 匹配字母表与数字:[0-9] [a-z] [A-Z]
  6. 不想匹配到的字符:[^...]来表示
  7. 贪婪/懒惰匹配:/t[a-z]*i/在不同的匹配方法中分别匹配到" ti "与“titani”
  8. 在开头/结尾处匹配:^与$符号

等等规则。

如果能够熟练合理运用正则表达式,将对搜索/查找/替换等工作带了很大的便利。

 

3. 关于工程化编程的过程概述

  接下来的课程关于编程过程中的各个方面。

  1. C/C++编译环境配置

  首先我们需要关于C语言的编译器,gcc与g++。后者可以编译运行C++。

  在linux系统上,一般系统自带gcc编译器。没有的话也可以方便地用如下命令安装:

sudo apt install build-essential gdb

  而windows系统一般选择 MinGW,将MinGW安装好后在环境变量中添加对应的路径即可。

  2. 代码风格的规范化

  代码⻛格的原则:简明、易读、⽆⼆义性

  课件中关于风格的规范整理的很好,引用如下:

码农的自我修养--学习笔记_第4张图片

 

模块化

  模块化(Modularity)是在软件系统设计时保持系统内各部分相对独⽴,以 便每⼀个部分可以被独⽴地进⾏设计和开发。这个做法背后的基本原理是关 注点的分离 (SoC, Separation of Concerns),是由软件⼯程领域的奠基性⼈ 物Edsger Wybe Dijkstra(1930~2002)在1974年提出,没错就是Dijkstra 最短路径算法的作者。

我们用耦合度与内聚度来评价模块化

在耦合度方面我们追求松散耦合。各个模块之间互相协作才能达成软件的目标,因此不可能是无耦合的情况。在有耦合的情况下,耦合度应该越低越好。每次改动bug时我们仅仅需要修改很少的几个模块即可。

 

你可能感兴趣的:(码农的自我修养--学习笔记)