#純靠北工程師4er
----------
#純靠北工程師4el
其實遵守一定的標準沒有錯。
但很多人(未必是工程師)真的
一不會溝通二搞不清楚先後順序。
字母大小寫這種問題,
規則寫明白,
改兩個三個字提示一下規則踢回去叫寫code的人改就好。
一個一個刁你是家教還是補習班。
自己工作不用做啊。
別碎嘴一堆甚麼這樣做比較好
之類的,沒這回事。所有的命
名風格跟convention最終依歸
都只是個人喜好。要講請用現實
講,話不是你當主管、你當QA就
能夠亂講的。
公司規範大家都能理解,
「我不喜歡這個風格,但為了工作我忍」
的心情大家其實都會有。但就是很多人剛好遇到公司選擇的風格是自己喜歡的就嘴一堆這樣做就是比較好之類的。
之前有一次工作就是遇到這種
主管,都已經快趕不上
Deadline了還在那邊跟我吵
這個命名那個大小寫,吵了半天
功能測試都沒測,他沒測試到我也沒改到半行程式碼。
對,這就是先後順序的問題。
其實不管怎樣都該先檢查程式
能不能跑出預期中的結果。
因為這樣才能確保至少時間內有個東西能上去。再者,當人家全副精力都在可否運行、運作結果是否正常上的時候你在那邊刁人家大小寫命名規則是在搞笑嗎!?
這樣打壞人家的工作進度很好玩嗎?
讓人家在該思考功能的時候思
考功能、該面對這些命名風格
的時候面對命名風格不好嗎?
共通標準要遵守沒錯,
但請
1.搞清楚先後順序
2.話講清楚,不要參雜私情
----------
🗳️ [群眾審核] https://kaobei.engineer/cards/review
👉 [GitHub Repo] https://github.com/init-engineer/init.engineer
📢 [匿名發文] https://kaobei.engineer/cards/create
🥙 [全平台留言] https://kaobei.engineer/cards/show/5715
同時也有226部Youtube影片,追蹤數超過4萬的網紅吳老師教學部落格,也在其Youtube影片中提到,[初階]從VBA的自動化到PYTHON網路爬蟲應用(課程簡介&安裝環境&設定python路徑與新增專案與模組&算術運算子&修改編碼為UTF8與轉型&BMI格式化與去除換行&用For迴圈加總1到99&分別計算奇數與偶數) 01_課程簡介說明 02_講師介紹與安裝環境 03_設定python路徑與新增...
「程式命名規則」的推薦目錄:
- 關於程式命名規則 在 純靠北工程師 Facebook 的最讚貼文
- 關於程式命名規則 在 矽谷牛的耕田筆記 Facebook 的最佳解答
- 關於程式命名規則 在 iThome Facebook 的最佳解答
- 關於程式命名規則 在 吳老師教學部落格 Youtube 的最讚貼文
- 關於程式命名規則 在 吳老師教學部落格 Youtube 的最讚貼文
- 關於程式命名規則 在 吳老師教學部落格 Youtube 的最佳貼文
- 關於程式命名規則 在 [討論] 匈牙利變數命名Hungarian Notation 語義學 - 批踢踢實業坊 的評價
- 關於程式命名規則 在 常見變數命名規則(Naming convention) - Dustin's murmur 的評價
- 關於程式命名規則 在 5 個你必知的變數命名規則 - YouTube 的評價
- 關於程式命名規則 在 Visual Studio 2022 如何設定預設變數命名規則 - Facebook 的評價
- 關於程式命名規則 在 Naming convention in programming / 程式的命名慣例、命名規則 的評價
- 關於程式命名規則 在 代码命名规则及代码编程规范_harryptter的博客 - CSDN博客 的評價
程式命名規則 在 矽谷牛的耕田筆記 Facebook 的最佳解答
文章開頭借用了日文的 Poka-Yokes 來分享有哪一些準則或是技巧可以讓你打造一個具 Mistake-Proof 的 Terraform 程式。
文章內列舉了四個準則,這邊簡單列舉了一下每個準則的概念,詳細資訊可以閱讀全文
# Rule 1: Use Terraform Modules to abstract specific pieces of infrastructure into logical groupings
1. 針對需求與架構去拆分你的 Terraform Module,舉例來說,創建一個名為 ECS Service 的 Module,而該 Modules 內其實會創建如 ECS, autoscaling target, metrics 等諸多資源。也正式這些資源相互合作才真正的搭建出 ECS 的服務
2. 上層的應用接下來都會以 ECS 服務為考量去使用,本身不需要去考慮太多底層創建的資源,透過變數的方式來讓不同的呼叫者有不同的 EC 服務
# Rule 2: Use Terraform Data calls to provide information
1. 人類其實很容易犯錯,特別是一些反覆執行的工作。但是電腦非常擅長這類型的工作
2. 相對於要求使用者或是開發者維護各類資源的 ID 或是資訊,更好的做法是利用 Terraform 內的 data 功能,主動地從遠方抓取這些資訊,並且搭配 filter 來過濾不必要的資訊。
# Rule 3: Be Smart About Where Interpolation and Concatenation Happens
- 創建應用時,很容易透過 Copy/Paste 等方式來創建相關資源,這時候就要特別注意資源的名稱是否有重複,是否忘了修改
- 透過變數的方式幫資源命名,但是要注意如果你今天想要修改命名的規則,每個有用到該資源的檔案都要去修改
- 有使用 Module 的話,可以考慮於 Module 呼叫時去組合相關名稱,而不是 Module 內組合。
# Rule 4: Implement State Locking for Ease of Deployments
- Lock 非常重要,透過 lock 機制我們可以避免同時有多個更新造成狀態不一致
有興趣的可以點選連結來觀看全文
原文: https://medium.com/capital-one-tech/terraform-poka-yokes-writing-effective-scalable-dynamic-and-error-resistant-terraform-dcbd6a0ada6a
程式命名規則 在 iThome Facebook 的最佳解答
鎖定SolarWinds Orion平臺的供應鏈攻擊事件,自FireEye揭露駭客植入的後門SunBurst,也有其他的資安廠商與研究人員揭露他們的發現。其中,有一家威脅情報業者,從這個後門程式進行深度分析,認為攻擊者先是利用模仿Orion開發元件的命名規則,騙過了SolarWinds的開發人員查核,同時也藉著雙重混淆機制愚弄資安防護系統,讓企業自動化防禦機制無法發出警告,而得以從去年10月開始發動攻擊,超過一年後才在最近被發現。
https://www.ithome.com.tw/news/141753
程式命名規則 在 吳老師教學部落格 Youtube 的最讚貼文
[初階]從VBA的自動化到PYTHON網路爬蟲應用(課程簡介&安裝環境&設定python路徑與新增專案與模組&算術運算子&修改編碼為UTF8與轉型&BMI格式化與去除換行&用For迴圈加總1到99&分別計算奇數與偶數)
01_課程簡介說明
02_講師介紹與安裝環境
03_設定python路徑與新增專案與模組
04_算術運算子練習
05_修改編碼為UTF8與轉型
06_變數資料型態的轉換
07_脫逸字元說明
08_關係運算子與邏輯判斷
09_多重邏輯判斷
10_多重邏輯判斷改為成績
11_計算BMI程式說明
12_BMI格式化與去除換行
13_用For迴圈加總1到99
14_分別計算奇數與偶數
完整影音
http://goo.gl/aQTMFS
教學論壇(之後課程會放論壇上課學員請自行加入):
https://groups.google.com/forum/#!forum/tcfst_python_2019_2
懶人包:
EXCEL函數與VBA http://terry28853669.pixnet.net/blog/category/list/1384521
EXCEL VBA自動化教學 http://terry28853669.pixnet.net/blog/category/list/1384524
[初階]從VBA的自動化到PYTHON網路爬蟲應用
01 建置Python開發環境 3
02 基本語法與結構控制 3
03 迴圈敘述演示與資料結構及函式 3
04 檔案處理與SQLite資料庫處理 6
05 TQC+Python證照第1、2、3類:
基本程式設計與選擇敘述與迴圈敘述 12
06 TQC+Python證照第4、5類:
進階控制流程與函式(Function) 9
[進階]網頁資料擷取、分析與資料視覺化能力
07 網頁資料擷取與分析 3
09 實戰:處理 CSV 檔和 JSON 資料 3
10 實戰:PM2.5即時監測顯示器轉存資料庫 3
11 實戰:下載台銀外匯、下載YAHOO股市類股 3
12 實戰:下載威力彩開獎結果 3
13 TQC+Python 3網頁資料擷取與分析第1類:資料處理能力 3
14 TQC+Python 3第2類:網頁資料擷取與轉換 6
15 TQC+Python 3第3類:資料分析能力 6
16 TQC+Python 3第4類:資料視覺化能力 6
上課用書:
參考書目
Python初學特訓班(附250分鐘影音教學/範例程式)
作者: 鄧文淵/總監製, 文淵閣工作室/編著
出版社:碁峰 出版日期:2016/11/29
吳老師 109/7/3
EXCEL,VBA,Python,自強工業基金會,EXCEL,VBA,函數,程式設計,線上教學,PYTHON安裝環境,資料視覺化
程式命名規則 在 吳老師教學部落格 Youtube 的最讚貼文
Python入門設計製作班:單元02_基本語法與結構控制件
01_變數型態與命名規則
02_變數型態與命名規則練習
03_變數轉變型態與脫逸字元
04_程式撰寫基本特型與快速註解
05_邏輯判斷(年齡判斷範例)
06_邏輯判斷改為多重判斷
07_邏輯判斷改為多重判斷另一種寫法
08_計算BMI練習
09_計算BMI與邏輯判斷
10_計算BMI與去除換行
11_將格式化小數點改為用format
完整影音吳老師教學論壇
http://www.tqc.idv.tw/
實體課程:
http://gg.gg/scuext
課程簡介:入門
單元01_建置Python開發環境與程式測試
單元02_基本語法與結構控制件
單元03_迴圈資料結構與自訂函數
單元04_串列、字典與檔案與資料庫處理
單元05-1_開放資料處理CSV和JSON資料處理(停車與PM2.5)
單元05-2_開放資料處理練習題_新北市開放資料JSON
單元05-3_GOOGLE雲端當CSV來源與CSV處理
單元05-4_網頁資料擷取基礎與外匯
單元05-5_網頁資料擷取台彩與股市資料
單元05-6_擷取網頁上櫃股票行情
單元06_使用Pandas與處理_Excel_試算表
單元07_VBA與Phython連結MYSQL資料庫
單元08_視覺化報表使用圖表繪製Matplotlib
課程理念與課程介紹:
因應大數據分析、物聯網、工業4.0的需求,能更容易的學會網路爬蟲、機器學習、物聯網、影像辨識、自動圖像報表等需求,其中以EXCEL VBA與Python程式開發最為熱門,因此將VBA的自動化延伸到PYTHON設計,讓學員能夠比較兩個工具的長處,並能相互協同應用。
吳老師 108/12/21
Python,Python入門設計製作班,中小學教師,函數,程式設計,線上教學,PYTHON安裝環境
程式命名規則 在 吳老師教學部落格 Youtube 的最佳貼文
Python入門設計製作班:單元02_基本語法與結構控制件
01_變數型態與命名規則
02_變數型態與命名規則練習
03_變數轉變型態與脫逸字元
04_程式撰寫基本特型與快速註解
05_邏輯判斷(年齡判斷範例)
06_邏輯判斷改為多重判斷
07_邏輯判斷改為多重判斷另一種寫法
08_計算BMI練習
09_計算BMI與邏輯判斷
10_計算BMI與去除換行
11_將格式化小數點改為用format
完整影音吳老師教學論壇
http://www.tqc.idv.tw/
實體課程:
http://gg.gg/scuext
課程簡介:入門
單元01_建置Python開發環境與程式測試
單元02_基本語法與結構控制件
單元03_迴圈資料結構與自訂函數
單元04_串列、字典與檔案與資料庫處理
單元05-1_開放資料處理CSV和JSON資料處理(停車與PM2.5)
單元05-2_開放資料處理練習題_新北市開放資料JSON
單元05-3_GOOGLE雲端當CSV來源與CSV處理
單元05-4_網頁資料擷取基礎與外匯
單元05-5_網頁資料擷取台彩與股市資料
單元05-6_擷取網頁上櫃股票行情
單元06_使用Pandas與處理_Excel_試算表
單元07_VBA與Phython連結MYSQL資料庫
單元08_視覺化報表使用圖表繪製Matplotlib
課程理念與課程介紹:
因應大數據分析、物聯網、工業4.0的需求,能更容易的學會網路爬蟲、機器學習、物聯網、影像辨識、自動圖像報表等需求,其中以EXCEL VBA與Python程式開發最為熱門,因此將VBA的自動化延伸到PYTHON設計,讓學員能夠比較兩個工具的長處,並能相互協同應用。
吳老師 108/12/21
Python,Python入門設計製作班,中小學教師,函數,程式設計,線上教學,PYTHON安裝環境
程式命名規則 在 常見變數命名規則(Naming convention) - Dustin's murmur 的推薦與評價
如何命名一個function/Variable是公認寫程式時最困難/最花時間的項目之一,這次介紹四個命名規則:Camel Case, Pascal Case, Snake Case, ... ... <看更多>
程式命名規則 在 5 個你必知的變數命名規則 - YouTube 的推薦與評價
Tommy 老師搶先公開寫作風格、技巧章節中的「變數 命名規則 」! 究竟哪些符號是變數 命名 中可以使用的? 命名 開頭有有什麼 規則 ? ... <看更多>
程式命名規則 在 [討論] 匈牙利變數命名Hungarian Notation 語義學 - 批踢踢實業坊 的推薦與評價
匈牙利命名規則
https://idleloop.com/hungarian/
Charles Simonyi 匈牙利記譜法的創造者 在微軟公司工作時研發出來
您可以找到 2000年~2004年的 Directx SDK source code 符合這種寫作方式
匈牙利人名和大多數其他歐洲人名相比是反過來的,即姓氏在名字的前面。
舉個例子,英語化的名字「Charles Simonyi」在匈牙利語中原本是
「Simonyi Karoly」。 這與中文名字是一樣的
它是一種語義學用在程式寫作上
語義學(英語:semantics)也作語意學,是對指稱、意義或真理的研究;語義學
涉及了語言學、邏輯學、計算機科學、自然語言處理、認知科學、心理學等
諸多領域。
有兩種匈牙利表示法。
系統匈牙利語 和 應用程序匈牙利語
使用應用匈牙利符號來命名語義更好
匈牙利語命名語義分為 3 個部分
1.
種類 從最接近目的名的種類至最遠的目的名種類
在簡短的命名時可以跳過種類
2.
集合的縮寫 或 代表意思的縮寫。
3.
目的縮寫
類似於告訴你的老闆這個命名是什麼用途
範例:
(a)
PT_WRITE_COMMAND is a point structure.
structure T must at fisrt. if point structure then PT at first
PT_WRITE_COMMAND aptwcShare[8];
等同
T_WRITE_COMMAND* aptwcShare[8];
a = array -> type abbreviation of close to far from purpose.
p = point -> type of the middle distance from purpose
t = struct -> type of the far distance from purpose
wc = WRITE_COMMAND -> set abbr.
Share = purpose
(b)
int nPort;
n = number -> meaning abbr.
Port = purpose
(c)
const char aszProtocol[8]
a = array -> type abbreviation close to far from purpose.
sz = string zero ending -> meaning abbr.
Protocol = purpose
const can skip
(d)
class member
int m_iCount;
static variable
int s_iCount;
global variable
int g_iCount;
////////////////////////////
Linus Torvalds linux 創始者的看法
https://www.kernel.org/doc/html/v4.10/process/coding-style.html
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.
James Ritchie Carroll openPDC 首席設計師 程式說明
https://www.gridprotectionalliance.org/docs/GPA_Coding_Guidelines_2011_03.pdf
Do not use Hungarian notation
Do not abbreviate
Do not prefix enums, classes, or delegates with any letter
各路名人的觀點
https://en.wikipedia.org/wiki/Hungarian_notation#Notable_opinions
Joel Spolsky的觀點 中譯:
https://blog.csdn.net/u010133610/article/details/103462974
它在微軟的歷史
https://en.wikipedia.org/wiki/Talk%3AHungarian_notation
Systems Hungarian was banned from the Windows NT project by its chief
architect Dave Cutler. His decision to do this was correct, in my opinion.
The best counter-example for the usefulness of Hungarian notation is IMHO
provided by Microsoft themselves. From How To Write Unmaintainable Code:
One followon trick in the Hungarian notation is "change the type of a
variable but leave the variable name unchanged". This is almost invariably
done in windows apps with the migration from Win16 WndProc(HWND hW, WORD
wMsg, WORD wParam, LONG lParam) to Win32 WndProc(HWND hW, UINT wMsg, WPARAM
wParam, LPARAM lParam) where the w values hint that they are words, but they
really refer to longs. The real value of this approach comes clear with the
Win64 migration, when the parameters will be 64 bits wide, but the old "w"
and "l" prefixes will remain forever.
https://www.makeuseof.com/what-is-hungarian-notation-and-should-i-use-it/
But you might want to heed the latest advice from Microsoft, the company
where Hungarian Notation originated. Since 2008, their General Naming
Conventions have included this simple note:
[DO NOT use Hungarian notation.] 出處如下
General Naming Conventions
https://learn.microsoft.com/en-us/dotnet/standard/design-guidelines/general-naming-conventions
縮址: https://reurl.cc/9V3O08
Word Choice
DO choose easily readable identifier names.
For example, a property named HorizontalAlignment is more English-readable
than AlignmentHorizontal.
DO favor readability over brevity.
The property name CanScrollHorizontally is better than ScrollableX (an
obscure reference to the X-axis).
DO NOT use underscores, hyphens, or any other nonalphanumeric characters.
[DO NOT use Hungarian notation.]
AVOID using identifiers that conflict with keywords of widely used
programming languages.
Hungarian notation 的優點
https://en.wikipedia.org/wiki/Hungarian_notation#Advantages
Hungarian notation 的缺點
https://en.wikipedia.org/wiki/Hungarian_notation#Disadvantages
匈牙利符號的優缺點
https://www.fluentcpp.com/2019/06/21/the-cons-and-cons-of-the-hungarian-notation/
縮址: https://reurl.cc/5MdGaR
//
請問各位的公司還使用 Hungarian Notation?
※ 引述《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.80.32 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1679154803.A.3A8.html
※ 編輯: fatalfeel2 (218.187.80.32 臺灣), 03/19/2023 06:40:07
... <看更多>