软件开发体系
代码组织及构建
c/c++: cmake
python: uv
javascript: pnpm
代码阅读
doxygen
doxygen -g
vim Doxyfile
doxygen Doxyfile
# c/c++ config
# 启用调用图生成(依赖 Graphviz)
HAVE_DOT = YES
CALL_GRAPH = YES
CALLER_GRAPH = YES
# 输入文件(递归扫描)
INPUT = .
RECURSIVE = YES
# FILE_PATTERNS = *.py //python项目开放这一项
# 输出格式
GENERATE_HTML = YES
GENERATE_LATEX = NO
# 提取私有/静态成员(可选)
EXTRACT_ALL = YES
EXTRACT_STATIC = YES
代码补全
lsp服务
vscode+ pylance(python)、C/C++ IntelliSense(c/c++)、
协作
git\
alias c="git log | grep ^comment | wc -l" \\cout all comments
alias statis="git shortlog -sn --no-merges" \\every people comments
alias dif="git diff HEAD~1 HEAD" \\the diff between now commit with last commit
j.sh \jump the n`th commit
#!/bin/bash
default_value=1
input_value=${1:-$default_value}
commit_count=$(git log | grep '^commit' | wc -l)
if [ "$commit_count" -lt "$input_value" ]; then
echo "commit quantity ($commit_count) is less than input ($input_value), please run 'git pull' or change your number"
else
target_commit=$(git log | grep '^commit' | tail -n "$input_value" | head -n 1 | cut -c8-47)
if [ -z "$target_commit" ]; then
echo "Error: Failed to find the target commit."
exit 1
fi
git reset --hard "$target_commit"
echo "now you are in commit $target_commit"
fi
性能调优
os监控
linux:
windows: sysinternals、nirsoft
debug
windows:
- 静态:IDA
- 动态:windbg
性能
windows: ETW(内核事件追踪)
处理器(指令集优化):uprof(arm)、vtune(x86_64 amd64)