week 1

发布时间 2024-01-02 14:00:30作者: 20201324徐源

任务

  • 参考Git 原理入门常用 Git 命令清单学习git命令,熟练掌握教程中的功能,在码云创建自己的代码库,推送你所选编程语言日“hello world”程序,然后加上再“hello 你的学号” 做第二次推送,通过git log查看过程

  • 查找你所选语言的代码规范,然后到jetbrain下载相关IDE,学习如何让自己的代码符合代码规范,比如Java参考这个,其他语言自己查找资料,会把自己所写代码按规范格式化

  • 学习单元测试技术, Java参考这个,完成这里面代码,其他语言自己查找资料,改写第二个链接中的代码进行单元测试

完成情况

git

上传

右键点击目录,点击Git-add添加到缓冲区

Git -> Commit Directory

commit -> 填写备注 -> 勾选Amend-commit and push

上传-commit

push

查看gitee仓库,上传成功

拉取

Git -> Chlone ,输入远程项目url

clion操作拉取远程仓库代码

成功

成功拉取

用命令行拉取到文件夹也挺方便

命令行拉取远程仓库代码

代码规范

Astyle

参考clion配置Astyle ,Astyle源代码单独放一个文件夹,让所有工程去引用它就好

参数上我用了Google C++ 代码规范,参数是让gpt写的

--style=google
--indent=spaces=2
--indent-switches
--pad-oper
--pad-header
--unpad-paren
--align-pointer=name
--align-reference=name
--keep-one-line-blocks
--convert-tabs

装完试一下,如果你写的乱七八糟的代码会自动变规范(注意是自动!不需要你format code),那就ok了

可以打开个新文件试试,都会调的

cppcheck

  1. 安装 Cppcheck 插件
    • CLion 的菜单栏:File -> Settings (或 Preferences for macOS) -> Plugins
    • 在 Plugins 页面中,在搜索栏中输入 "Cppcheck"。
    • 找到相应的插件,并点击右侧的安装按钮进行安装。
  2. 配置 Cppcheck
    • 安装完成后,返回 CLion 的设置窗口。
    • 在设置窗口中,选择 Tools -> External Tools
    • 点击加号(+)添加一个新的外部工具。
    • 在弹出的对话框中填写以下信息:
      • Name:给这个工具取一个名称,比如 "Cppcheck"。
      • Description:添加描述(可选)。
      • Program:指定 Cppcheck 的可执行文件路径。在这里输入 Cppcheck 的安装路径。
      • Parameters:这里可以添加 Cppcheck 的参数,比如 --enable=all 或其他你想要的检查选项。
      • Working directory:设置为 $ProjectFileDir$,表示使用当前项目的目录。
    • 点击 OK 保存设置。

很简单基本不踩坑。能够检测静态代码中潜在错误和不规范写法,用于预防简单的安全漏洞

装好后,如果检测到代码有问题,会自动标黄色下划线

单元测试

用的googeltest

这里就不得不狠狠吐槽一句,本来很简单的东西为什么有的教程搞那么复杂

首先你要下载googeltest源码,长这样

googeltest目录

在你项目的根目录下,创建一个名为 lib 的新目录,然后将 Google Test 的源代码复制到这个目录中(直接拷贝文件夹)。这样,你的项目结构应该如下:

- project_root
  - lib
    - googletest
  - main.cpp
  - CMakeLists.txt

修改 CMakeLists.txt 文件,添加以下内容:

cmake_minimum_required(VERSION 3.10)
project(your_project_name)

set(CMAKE_CXX_STANDARD 11)

# 添加 Google Test 的子目录,这样 CMake 可以找到它的 CMakeLists.txt 文件
add_subdirectory(lib/googletest)

# 添加包含 Google Test 的头文件的目录
include_directories(lib/googletest/googletest/include)

add_executable(your_project_name main.cpp)

# 链接 Google Test 库
target_link_libraries(your_project_name gtest gtest_main)

在 main.cpp 文件中,添加一个简单的 Google Test 测试:

#include <gtest/gtest.h>

TEST(SampleTest, AssertionTrue) {
    ASSERT_TRUE(true);
}

int main(int argc, char **argv) {
    ::testing::InitGoogleTest(&argc, argv);
    return RUN_ALL_TESTS();
}

在 CLion 中,点击 "Build" -> "Build Project" 来编译项目。

在 CLion 中,点击 "Run" -> "Run 'your_project_name'" 来运行项目。

ref

我愚昧了,干完上面就去验收了,我导骂我说单元测试当然应该把被测试文件和测试代码分开啊,他说的对,我是菜狗。。。

模块化测试小例子

这样就可以了