码农的自我修养之必备技能 学习笔记

一、Typing

更快的打字速度和更高的准确率能显著地提高程序员的写代码效率。

因此,程序员需要训练打字的技巧。可以到 https://www.typingclub.com 进行训练。

共684关,循序渐进。训练一段时间后,可以打开 https://www.typingclub.com/sportal/program-3/8832.play 直接进行最后一关的测评。

二、Visual Studio Code

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

1.前期准备

 

1. 首先在微软官网下载并安装好visual stdio code

 

2. 因为vscode只是一个代码编辑器,没有自带有C/C++的编译器,因此我们需要安装一个C/C++编译器,打开终端依次输入,确保安装好gcc/g++和gdb

sudo apt-get update
[有密码则输入密码]
sudo apt-get install gcc
[有密码则输入密码]
sudo apt-get install g++
[有密码则输入密码]
sudo apt-get install gdb
[有密码则输入密码]

3. 安装必要的插件,打开vscode,点击左面竖排第五个按钮,搜索并安装上如下两个插件

  • C/C++
  • Code Runner

安装好以后重启一下vscode,为避免出现其他问题,先暂时不要安装其他插件界面给你推荐的插件

2.编译运行程序

编译运行程序将介绍两种方法

  1. 使用之前安装好的Code Runner插件一键编译运行程序
  2. 打开vscode的集成终端使用命令行编译和运行

点击:文件>新建文件,出现一个空白文档,我准备了一段测试用的代码,请复制粘贴到空白文档中

#include 
int main(){
   char name[100];
   printf("What is your name?\n");
   scanf("%s",name);
   printf("Hello,%s,nice to meet you!\n",name);
}

然后按Ctrl+S并将文件后缀名改为.c.cpp后保存到电脑上,然后点击右上角的三角形按钮(原本这个位置没有,是安装Code Runner插件后新增的一键编译运行程序的按钮),或者按Ctrl+Alt+N就能编译运行当前程序

这就是使用Code Runner插件运行程序的方法,点击右上角的垃圾桶图标可以直接结束程序运行

同时可以按ctrl+~打开集成终端在其中输入命令行指令来编译运行

 码农的自我修养之必备技能 学习笔记_第1张图片

 

 

下面开始正式配置调试环境

首先在电脑上你习惯的位置新建一个文件夹,用于存放编写的代码,接下来配置好的调试环境,仅会对存放在这一个文件夹以及文件夹的子目录里程序生效!

新建好文件夹后,在vscode界面,点击:文件>打开文件夹,打开刚刚新建的文件夹(我的文件夹名叫CODE)

再点击新建文件夹在打开的文件夹下新建一个 .vscode文件夹(注意前面的"."号)

然后在.vscode文件夹下新建两个json文件分别叫做

  • launch.json
  • tasks.json

然后将下面的代码复制到对应的json文件中去并保存

launch.json

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "C/C++",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}/${fileBasenameNoExtension}",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "preLaunchTask": "compile",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

tasks.json

如果需要是c语言也就是gcc将下面的command项由g++改为gcc

{
    "version": "2.0.0",
    "tasks": [{
            "label": "compile",
            "command": "g++",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "problemMatcher": {
                "owner": "cpp",
                "fileLocation": [
                    "relative",
                    "${workspaceRoot}"
                ],
                "pattern": {
                    "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
                    "file": 1,
                    "line": 2,
                    "column": 3,
                    "severity": 4,
                    "message": 5
                }
            },
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}

事实上现在已经可以正常调试了

并且此时可以按 ctrl+shift+b 直接调用配置好的g++ task 编译程序而不运行程序,类似于一些IDE的编译选项

3.快捷键

VScode基本快捷键一览。

码农的自我修养之必备技能 学习笔记_第2张图片

三、Git

首先需要在电脑上安装git,从官网上下载,

码农的自我修养之必备技能 学习笔记_第3张图片

 

创建GitHub仓库

 创建一个GitHub仓库,

码农的自我修养之必备技能 学习笔记_第4张图片

 

克隆到本地 

复制网址,克隆到本地,

码农的自我修养之必备技能 学习笔记_第5张图片

 

 在本地新建文件夹,以此路径打开cmd,输入命令:git clone https://github.com/kuanghf1012/kkkhf.git

码农的自我修养之必备技能 学习笔记_第6张图片

 

 拉取

pull 用于取回远程主机某个分支的更新,再与本地的指定分支合并

先在 GitHub 网页上手动对文件进行修改,再在本地执行 git pull

码农的自我修养之必备技能 学习笔记_第7张图片

 

 分支

分支(branch)可以在不影响主线(master)的同时继续工作
git branch 查看分支
git branch (branchname) 新建分支
git push origin (branchname) 推送新分支
git checkout (branchname) 切换分支

新建分支

使用命令git branch (新分支名)在本地新建分支,然后输入命令git push origin (分支名)推送分支

码农的自我修养之必备技能 学习笔记_第8张图片

 

 切换分支

切换到新分支,修改文件,然后推送

码农的自我修养之必备技能 学习笔记_第9张图片

推送文件修改需要这几步:

  1. 添加需要推送的文件到暂存区
    • git add . 监控工作区的状态树,会把工作时的所有变化提交到暂存区,包括文件内容修改和新文件,但不包括被删除的文件
  2. 将暂存区里的改动给提交到本地的版本库
    • git commit -m "add file to testBranch"
  3. 推送
    • git push origin testBranch

 

 码农的自我修养之必备技能 学习笔记_第10张图片

 

 此时,新分支上出现了新文件,主线没有变

码农的自我修养之必备技能 学习笔记_第11张图片

 

 合并分支

接下来将新分支合并到主线,并推送。

码农的自我修养之必备技能 学习笔记_第12张图片

 

 在网页端创建拉取请求(Create pull request)并合并(Merge pull request)

码农的自我修养之必备技能 学习笔记_第13张图片

 

 码农的自我修养之必备技能 学习笔记_第14张图片

 

 可见,主线上也更新了

码农的自我修养之必备技能 学习笔记_第15张图片

 

 

四、正则表达式

正则表达式,又称正规表示法、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。

语法

匹配备选列表中的某个字符,比如abcd:[abcd],- 符号标识区间,如0-9 a-z A-z。
由这条可以推出以下几条语法:
匹配一个数字:[0-9],因为这条很常用,所以提供了简化符号\d(java中\\d)来表示一个数字
匹配一个字母:[a-zA-Z]
匹配一个字母或数字:简化符号\\w
匹配特殊字符,如空格和Tab符:\s 换行符:\n 制表符:\t
不匹配某个字符,如不想匹配x:[^x], [^aeiou]匹配除了aeiou这几个字母以外的任意字符。同样可以和上面的符号进行组合,[^0-9],[^d],[^w]用于表示排除这个范围。
对于简化符号\d,\w的否定可以用大些来替代,如\D,\W
或条件,x|y匹配x或y。例如,"z|food"能匹配"z"或"food"或"zood"(此处请谨慎)。"(z|f)ood"则匹配"zood"或"food"
位置限定,$限定字符串开头,^限定字符串结尾,如$t[abcd]t^ 匹配tat,tbt,tct,tdt。不匹配rtat,tatr。
个数描述
*匹配0次或多次
. 匹配任意一个字符
+ 至少一次
? 至多一次
{n} 准确匹配n次
{n,}至少匹配n次
{n,m}匹配n到m次
组的概念
在正则中所有的个数描述符的作用对象都是前一个单位,这个单位通常是一个字符,但是组的概念可以把多个字符组成一个单位,也就是组。在正则中用()来表示。
例如:(text){3}匹配texttexttext,(text)把text看成一个整体。这里还有一个小问题,如何匹配()这一类的元字符,在正则表达式中想要匹配元字符统一用\进行转义。
贪婪非贪婪匹配
非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。当?字符紧跟在任何一个其他限制符(*,+,?,{n},{n,},{n,m})后面时,匹配模式是非贪婪的。例如,对于字符串"oooo","o+?"将匹配单个"o",而"o+"将匹配所有"o"。

五、总结

课堂上学习了VSCode、Git等程序员实用的工具,学习了正则表达式等实用的技巧。但仅仅是在课堂上听课是远远不够的,除了要把学习过程记录下来,时而温故,还要把这些工具和技巧应用在平时写代码中,使用多了才能更加熟练。

 

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