如何有限的笔试时间中提高编程效率?除了提高自身代码能力之外,事先的准备工作也必不可少。大部分的笔试支持跳出笔试页面使用第三方IDE(集成开发环境)进行编程,此时使用代码模板能够有效提高编程效率。
自定义代码模板
由于实际笔试大多与LeetCode上的编程有所不同,并不仅仅要求完成一个函数,而是需要编写完整的可运行代码,许多刚开始笔试的同学会有一些不习惯。以C++为例,其代码应该具有以下结构才能够正常运行:
#include
using namespace std;
int main()
{
...
return 0;
}
此外,我们还需要包含
,
,
,有时还会用到
,,
等等头文件,在紧张的笔试时间中,如何避免这种重复的工作呢?
一种可行的解决方法是事先在别处保存一个空的代码模板,包含自己常用的头文件及main函数,在笔试的时候每次从这里copy一份即可,这是一种非常有效的方法,但是方便的是,这项工作可以由IDE来完成。
我们可以使用IDE的代码片段功能实现自定义模板,功能预览如下:
输入#1
按下tab
键,展开为自定义的代码模板:
合理设置代码模板能够有效提升编程效率。
接下来本文以Visual Studio 2017 (Enterprise)为例,介绍如何使用代码片段功能实现C++自定义代码模板。
确定代码模板框架
我们所定义的模板应该是符合IDE规定,保证能够正常运行的代码。首先需要确定IDE初始的代码内容,如笔者在使用VS时,每道题会选择在解决方案中新建一个控制台应用程序,步骤如下:
右键解决方案 -> 添加 -> 新建项目 -> Visual C++ -> Windows 控制台应用程序 -> 输入项目名称 -> 确定。若不了解如何在一个解决方案中创建多个独立项目并单独运行,请点击这里。
项目创建完成后会默认创建一个项目同名cpp文件,并出现如下代码:
#include "pch.h"
#include
int main()
{
std::cout << "Hello World!\n";
}
第一行的#include "pch.h"
为项目自带文件,其它的VS版本中可能是#include "stdafx.h"
或其它以“ ”
包含的头文件,有些IDE中不需要该文件,因此需要自行确认。
以上就是编写代码模板所需遵循的代码框架。
编辑所需代码模板
对该代码编辑,修改为所需代码模板(注意在main
函数之前与函数中各留出一个空行,方便后续编辑),如:
#include "pch.h"
#include
#include
#include
#include
#include
#include
using namespace std;
int main()
{
return 0;
}
添加代码片段
点击VS最上方 工具 -> 代码片段管理器,单击打开出现如下界面
在图片所示1
处选择Visual C++,下方选中Visual C++文件图标夹,复制2
处路径,打开 资源管理器(或此电脑、计算机、我的电脑皆可),在红框所示处粘贴:
按下回车,该文件夹下存放的即为VS预定义的代码片段文件。
将if.snippet
文件复制到桌面,右键打开(建议使用notepad++):
方框1
所示为该代码片段的名称,缩写,描述,方框2
所示为代码片段内容,将其对应修改如下:
在修改方框2
时需注意格式,内容为空时如下所示
在箭头所示处插入代码,紧接着'['
直接输入即可。
也可复制如下代码将文件内容全部替换。
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>#1</Title>
<Shortcut>#1</Shortcut>
<Description>C++预定义模板</Description>
<Author>Szg</Author>
<SnippetTypes>
<SnippetType>Expansion</SnippetType>
<SnippetType>SurroundsWith</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Declarations>
<Literal>
<ID>expression</ID>
<ToolTip>生成的代码片段</ToolTip>
<Default>true</Default>
</Literal>
</Declarations>
<Code Language="cpp"><![CDATA[#include "pch.h"
#include
#include
#include
#include
#include
#include
using namespace std;
int main()
{
return 0;
}
]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>
ctrl
+ s
保存,关闭该文件,单击桌面的if.snippet
,按F2
重命名为#1.snippet
,到这里,#1
的代码片段就制作完成了。
导入到VS中
回到VS的代码片段管理器界面
有两种方法导入,任选一种即可(推荐选择方法2):
1
,复制方框2
处路径,到资源管理器中打开,将#1.snippet
文件复制到该文件夹下即可。3
,在资源管理器中找到并选中桌面上的#1.snippet
文件 -> 打开,如下选中My Code Snippets文件夹,确定即可。重启VS
点击确定关闭代码片段管理器,关闭VS,重新打开,输入#1
,按下tab
,即可展开为自定义模板了。
使用
在解决方案中创建新的控制台应用程序项目,默认创建同名cpp文件,按ctrl
+ A
全选,删除,输入 #1
,按tab
键,接下来就可以愉快地编辑代码了~
提交代码时,按ctrl
+ A
全选,粘贴到题目中,注释或删除第一行带有“ ”
头文件的代码即可。
VSCode
Code::Blocks
Eclipse
IDEA
NetBeans
PyCharm
Sublime Text
Xcode
未覆盖的IDE请自行查询,搜索关键词示例:xx 添加代码片段。