作者fatalfeel2 (风在动)
看板C_and_CPP
标题Re: [讨论] 前辈们变数都怎麽命名?左括号放那?
时间Mon Mar 20 00:24:39 2023
判断式的左括号应置於何处?
原Po 研究过 Allman Style , K&R style, GNU style
还有 ISO c99 c++2011 c++2014 c++2022
实际撰写过 Linux kernel, Zephyr, Android framework & App, Python3 AI
Scala Risc-V, IOS Object-C, trace gcc source, buildroot, bash, Makefile
拜读过 Weinberg 的程式心理学 The Psychology of Computer Programming
另有 系统开发思惟 An Introduction to General Systems Thinking
//
我们现在使用的 gcc g++ gdb gdbserver 仍至於 arm-linux-gcc aarcg64-linux-gcc
皆是由 GNU 释出的
https://ftp.gnu.org/gnu/gcc/
使用的大括号 与 Allman style 相似 放在判断式的下一行
而Linux kernel 使用的是 K&R style 放在判断式的末尾
有人会说在下一行好 有人会说在行尾好 很多置定公司的语言规范的人
他们忘了...
1. 主管们 你有在尝试使用别人的新语法吗?
2. 制定者 你有在自省 大脑的组合次数 或 简化次数吗?
程式语义 在大脑的组合或简化次数越少 阅读就更轻松
工程师有更多时间 去注重 安全性 速度 CPU loading
不要浪费在画作的相框 而是画作本身
在新的python3 之中 根本没有括号问题
简化规范 使大脑阅读轻松 才是制定的最高原则
举例 语义
1.
if you are going to america
Then you should get a passport first
Check available hotels in California
Otherwise if you are going to Japan
learn basic greetings
Check available hotels in Tokyo
2.
if you are going to america
Then you should get a passport first
Check available hotels in California
Otherwise if you are going to Japan
learn basic greetings
Check available hotels in Tokyo
3.
if you are going to america
Then you should get a passport first
Check available hotels in California
Otherwise if you are going to Japan
learn basic greetings
Check available hotels in Tokyo
4.
if you are going to america
Then you should get a passport first
Check available hotels in California
Otherwise if you are going to Japan
learn basic greetings
Check available hotels in Tokyo
对於第1段 我们相当好理解 第3第4段的中间我们需对於不确定性多解析一次思考
那现在你应该知道要怎麽放左括号了吧~~~
这里是开放性解答
1.了解别人的新写法
2.反省自身对程式语义的组合次数
3.重视系统安全 speed & Loading
你才是一个好的程式规范者!!!
※ 引述《fatalfeel2 (风在动)》之铭言:
: 程式命名规则 与 Makefile
: 1. 查阅了 ISO 1999 C99, ISO 2011 C++, ISO 2014 C++, ISO 2020 C++,
: https://reurl.cc/gZGz6L
: https://reurl.cc/XLGlq0
: ISO都有基本的命名规则
: 另查阅 微软 安卓 程式规范
: 微软 的 命名规则偏向 The Hungarian Naming Convention
: 由2001 制定完整规范, prefix 如ch, sz, p
: https://idleloop.com/hungarian/
: 2. variable prefix naming convention 一定是正确的吗?
: (a)
: 北美电网程式规范与openPDC 首席设计师 James Ritchie Carroll
: https://www.gridprotectionalliance.org/docs/GPA_Coding_Guidelines_2011_03.pdf
: Page 12 原文贴上
: Do not use Hungarian notation
: Do not abbreviate
: Do not prefix enums, classes, or delegates with any letter
: (b)
: Linux核心的创始者 开源专案Git创始者 Linus Torvalds
: https://www.kernel.org/doc/html/v4.10/process/coding-style.html
: https://slurm.schedmd.com/coding_style.pdf
: 第四章 原文贴上
: Encoding the type of a function into the name (so-called Hungarian notation)
: is brain damaged - the compiler knows the types anyway and can check those,
: and it only confuses the programmer. No wonder MicroSoft makes buggy programs.
: (注意一下这两位大神coding在意的重点是什麽)
: 3.
: GNU MAKE
: https://www.gnu.org/software/make/manual/make.html
: #dir named with www.gnu.org/software/make/manual/make.html 4.3 16.3 16.5
: SRCDIR = ./source
: OBJDIR = ./obj
: BINDIR = ./bin
: #compile optione with www.gnu.org/software/make/manual/make.html 4.3 16.3 16.5
: $(OBJDIR)/%.o : ./$(SRCDIR)/%.cpp
: $(CXX) -c $(CXXFLAGS) $< -o $@
: #link
: $(TARGET): $(OBJFILES)
: $(CXX) $^ $(LDFLAGS) -o $(BINDIR)/$@
: 有人习惯使用
: $(CXX) $(LDFLAGS) $^ -o $(BINDIR)/$@
: $^ 代表着许多 .o 档
: $(LDFLAGS)若放在 $^ 前面
: ubuntu 16/18 x86_64 g++ link -lpthread 会找不到
: 所以 "$(LDFLAGS) 一定要放在 $^ 之後"
: #Note: CPPFLAGS at www.gnu.org/software/make/manual/make.html 10.3
: CC
: Program for compiling C programs; default ‘cc’.
: CXX
: Program for compiling C++ programs; default ‘g++’.
: CPPFLAGS
: Extra flags to give to the C preprocessor and programs that use it (the
: C and Fortran compilers).
: CXXFLAGS
: Extra flags to give to the C++ compiler.
: ※ 引述《heaviest (heaviest)》之铭言:
: : 最近开始学C,刚刚把前几天写的程式,打开来看
: : 发现变数一时之间完全搞不清楚
: : 明明当初有尽力的取有意义的名称,然後照着大写来分开字这样打
: : 跑去问了学长,他叫我去背单字,他说变数名字取不出来是我单字被太少QQ
: : 请问各位前辈们都怎麽取有意义的名字
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 218.187.102.14 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1679243082.A.FFC.html
※ 编辑: fatalfeel2 (114.32.93.159 台湾), 03/20/2023 11:29:37
1F:→ MOONRAKER: 阿废话 python有用大括号喔 03/27 09:25
2F:→ MOONRAKER: 完全看不出来那几个例子是怎样反映到C++ 大括号上 03/27 09:28
3F:→ MOONRAKER: 团体开发的时候看团体规范就好 03/27 09:28
4F:嘘 F04E: .......... 04/13 13:12
5F:嘘 KanzakiHAria: 04/20 17:33