🔥 "เรื่องอื่นอาจจะประนีประนอมได้ .. แต่เขียนโค้ดสไตล์มั่วซั่ว ประนีประนอมไม่ได้เด็ดขาดดด !"
.
หลายคนน่าจะเคยเจอปัญหากันมาบ้างไม่ว่าจะเป็น
.
🤣 "เมื่อวันก่อนตรูเขียนอะไรลงไปเนี่ยยย !?" จนไปถึง "งงจัด เมื่อเพื่อนร่วมทีมส่งงานมาให้ช่วยดู"
.
ปัญหานี้จะหมดไปถ้าเรารู้ และ เข้าใจสิ่งที่เรียกว่า Coding Style ซึ่งจริง ๆ แล้วในหลาย ๆ ภาษาก็มีให้เราได้อ่านอยู่
.
✅ โดยเจ้าสิ่งนี้จะเป็น "คำแนะนำ" ในการเขียนโค้ดที่ดีของแต่ละภาษา หรือ แต่ละองค์กร ที่ได้มีเกณฑ์ต่าง ๆ กำหนดไว้แล้วนั่นเอง
.
ไม่ว่าจะเป็นเรื่องทั่วไปอย่าง
.
▶️ ควรตั้งชื่อตัวแปรแบบไหน ? ชื่อฟังก์ชันควรเป็นอะไรดี ?
.
▶️ การ Import ของจากข้างนอกมาใช้ อะไรควรทำก่อน หลัง หรือ ไม่ควร ?
.
▶️ จนไปถึง การออกแบบเงื่อนไขการทำงานควรออกแบบอย่างไร ?
.
ซึ่งแน่นอนว่าคำแนะนำที่ดีเหล่านี้จะช่วยให้โปรเจคของเราผ่านไปได้โดยราบลื่นนั่นเอง หากนำมาใช้ในทีมด้วยก็ยิ่งทำให้พวกเราเข้าใจตรงกันได้มากขึ้น
.
"มันเลยเปรียบเสมือนข้อตกลงในการทำงานร่วมกันนั่นเอง <3"
.
แต่จะต้องบอกก่อนนะว่า ไม่ใช่ทุกงานที่เหมาะกับ Coding Style นั้น ๆ หรือ ไม่ใช่ทุกปัญหาจะมีใน Coding Style บอกว่าแก้ไขยังไง หลายครั้งเราอาจจะต้องเพิ่มเติมเอาเอง
.
⚠️ "แต่สิ่งที่เพิ่มเติมจะต้องคุยกันในทีมให้เคลียร์ก่อนเสมอนะ !"
.
ดังนั้นวันนี้เรามาดู Coding Style Guide ของแต่ละภาษาไปพร้อมกันเลยดีกว่า !! (บางภาษาอาจมีตัวน่าสนใจมากกว่า 1 ตัว แอดก็รวมไว้ให้แล้วจ้า)
.
👉 ภาษา Java
.
http://www.oracle.com/technetwork/java/codeconventions-150003.pdf
https://google.github.io/styleguide/javaguide.html
.
👉 ภาษา C
.
http://www.maultech.com/chrislott/resources/cstyle/indhill-annot.pdf
http://www.maultech.com/chrislott/resources/cstyle/Peter_CStyleGuide.pdf
.
👉 ภาษา C++
.
http://www.maultech.com/chrislott/resources/cstyle/Wildfire-C++Style.html
http://www.maultech.com/chrislott/resources/cstyle/CppCodingStandard.html
.
👉 ภาษา Python
.
https://www.python.org/dev/peps/pep-0008/
.
👉 ภาษา C#
https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/index
.
👉 ภาษา JavaScript
.
https://github.com/airbnb/javascript
http://google.github.io/styleguide/javascriptguide.xml
https://www.w3schools.com/js/js_conventions.asp
.
👉 ภาษา Dart
https://dart.dev/guides/language/effective-dart/style
.
👉 ภาษา PHP
http://www.php-fig.org/psr/psr-1/
http://pear.php.net/manual/en/standards.php
.
👉 ภาษา Objective-C
https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CodingGuidelines/CodingGuidelines.html
.
👉 ภาษา Kotlin
https://kotlinlang.org/docs/reference/coding-conventions.html
.
👉 ภาษา Swift
https://github.com/raywenderlich/swift-style-guide
.
👉 ภาษา Visual Basic.NET
https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/index
.
👉 ภาษา Ruby
https://github.com/bbatsov/ruby-style-guide
https://github.com/airbnb/ruby
.
👉 ภาษา R
http://web.stanford.edu/class/cs109l/unrestricted/resources/google-style.html
.
👉 ภาษา Go
https://golang.org/doc/effective_go.html
.
"เรียบร้อย ครบจบทุก Guideline ใครที่อยากทำงานกับทีมง่าย ๆ แนะนำให้ลองใช้กันดูได้เลยจ้า" <3 <3 <3
.
#borntoDev - 🦖 สร้างการเรียนรู้ที่ดีสำหรับสายไอทีในทุกวัน
同時也有1部Youtube影片,追蹤數超過12萬的網紅prasertcbs,也在其Youtube影片中提到,เข้าใจไวยากรณ์พื้นฐานของภาษา C++ อันได้แก่ 1) รูปแบบประโยคคำสั่ง และการจบประโยคคำสั่งด้วยเครื่องหมาย ; (semicolon) 2) การใช้ white spaces (space, tab)...
「c coding style」的推薦目錄:
- 關於c coding style 在 BorntoDev Facebook 的最佳貼文
- 關於c coding style 在 Eric's English Lounge Facebook 的精選貼文
- 關於c coding style 在 Johntool-工具王阿璋 Facebook 的最佳解答
- 關於c coding style 在 prasertcbs Youtube 的最佳解答
- 關於c coding style 在 Google C++ Style Guide 的評價
- 關於c coding style 在 Recommended C style and coding rules - GitHub 的評價
- 關於c coding style 在 Coding Standards for pure C (not C++) - Stack Overflow 的評價
c coding style 在 Eric's English Lounge Facebook 的精選貼文
[教育資源] 美國哈佛大學線上課程
Here are more free classes from Harvard while we are stuck at home waiting for school to reopen! The following are seven courses that will help prepare you for the challenges of today’s dynamic and fast-changing world.
當我們被困在家等待學校重新開放時,有更多來自哈佛大學的免費課程提供給大家! 這裡提供七項課程來幫助大家,應對來自當今這充滿活力與快速變化的世界的挑戰。
★★★★★★★★★★★★
1. Introduction to Computer Science 電腦科學導論
https://www.edx.org/course/cs50s-introduction-to-computer-science
Knowing how to code is a vital skill in in today’s digital world. This entry level course teaches the basics of computational thinking, programming problem solving, data structures, and web development, among other things. It will leave the learner able to code in several languages including C, Python, and Java.
在當今的數位世界中,知曉如何編碼乃是至關重要的技能。 本入門課程教授運算思維、程式編寫與問題解決、資料結構和網頁開發等基礎知識。 它將使學習者能夠使用多種程式語言包括C,Python和Java進行編碼。
★★★★★★★★★★★★
2. The Architectural Imagination 建築的想像力
https://www.edx.org/course/the-architectural-imagination
Art and science are often viewed in opposition to one another, but in the field of architecture they meet in fantastic and beautiful ways. In this class, students will learn both the technical and cultural aspects of architecture, and gain a better understanding of how the buildings we inhabit relate to history, values, and pragmatic concerns.
人們常常將藝術與科學放在對立面,但在建築的領域,它們以奇妙而優美的方式相遇。在本課程中,學生將學習建築的技術和文化層面,並更好地了解我們所居住的建築與歷史、價值和實用主義的關係。
★★★★★★★★★★★★
3. Super-Earths and Life 超級地球與生命
https://www.edx.org/course/super-earths-and-life
What life lies beyond our small world? Thirty years ago we only knew about nine planets; today we know of thousands nearby stars. In this course, students will learn about exoplanets, which ones might be the best candidates for harboring life, and why those planets are of the greatest interest. Combining concepts in astronomy and biology which have rarely been put together before, the class is an excellent introduction to one of the most interesting eras in astrobiology; today.
在我們的小小世界之外,還有什么生命存在? 三十年前,我們只知道九大行星。 如今,我們知道附近有數千顆恆星在沿著軌道運行著。 在本課程中,學生將學習系外行星的知識,哪些可能是庇護生命的最佳選擇,以及為什麼這些行星最受關注。該課程將天文學和生物學的概念相結合乃少有前例,這堂導論在如今這個天文生物學領域中最有趣的時代之一是極精彩的。
★★★★★★★★★★★★
4. Leaders of Learning 學習的領導者
https://www.edx.org/course/leaders-of-learning
How do you learn? Why do you learn? Can you name three people who would share your answers? In this class, students will identify their own style of learning and find out how that style fits into the ever-changing landscape of education. Later lectures focus on how to apply that knowledge to leadership, organizational structure, and the future of learning.
你如何學習? 你為什麼要學習? 你能說出三個可以分享答案的人嗎? 在本課程中,學生將辨認自己的學習風格,並了解該風格如何適應不斷變化的教育環境。 後段課程聚焦於如何將這些知識應用於領導力、組織結構和未來。
★★★★★★★★★★★★
5. Using Python for Research 運用Python於研究
https://www.edx.org/course/using-python-for-research
Do you want to learn to code, and then learn how to actually use it? In this course, students will review the basics of the Python coding language and then learn how to apply that knowledge to research projects by means of tools such as NumPy and SciPy. This class is an intermediate level course, and a basic understanding of the Python language is ideal before beginning.
你想學習編碼,然後學習如何實際使用它嗎?在本課程中,學生將回顧Python編碼語言的基礎知識,然後學習如何通過NumPy和SciPy等工具將這些知識應用於研究計畫。 該課程是中級課程,在上課之前對Python語言有基本的了解為佳。
★★★★★★★★★★★★
6. American Government 美國政府
https://www.edx.org/xseries/harvardx-us-government
The federal government of the United States can seem like a far off and alien system, one which acts in strange ways; but it is a powerful force in the life of every American. To not understand how it works, and your place in it as a citizen and voter, is to be an irresponsible citizen. This course introduces students to the function, history, institutions, and inner workings of American government. No previous study or understanding of American politics is required, making the course ideal for non-American students who want to understand what exactly is going on there.
美國聯邦政府看起來像個運作方式奇特,遙不可及的陌生體系。 但在每個美國人生活中這是一股強大的力量。 如果不了解它是如何運作的,以及自己作為公民和選民在其中所處的位置,會成為不負責任的公民。 本課程向學生介紹美國政府的職能、歷史、機構及其內部運作。 無需對美國政治的事前學習與了解,使該課程成為想要了解美國到底發生了什麼的非美國學生的理想選擇。
★★★★★★★★★★★★
7. Humanitarian Response to Conflict and Disaster 人道主義對衝突與災難的應對
https://www.edx.org/course/humanitarian-response-to-conflict-and-disaster
We live in a world with staggering humanitarian crises, and responses to them that are often lacking. In this class, students will ask questions on how to deal with humanitarian disasters through the case studies of Zaire, Syria, The Balkans, and elsewhere. The history of humanitarian responses, and the frameworks that those responses past and present operate in, will be covered as well, and students will be challenged to ask if they remain sufficient.
我們生活在充滿令人震驚的人道主義危機的世界中,而對這些危機往往缺乏應對。 在本課程中,學生將通過薩伊、敘利亞、巴爾幹地區和其他地區的案例研究,提出有關如何應對人道主義災難的問題。本課程還將涵蓋人道主義應對的歷史以及過去與現在的應對所運行的框架,並且挑戰學生去提出這些應對是否足夠。
★★★★★★★★★★★★
美國名校的免費線上課程 (MOOCs)
https://bit.ly/2Um51WO
英國名校MOOC平台
https://bit.ly/3eYUOYe
留學獎學金: https://bit.ly/3e9vrT0
★★★★★★★★★★★★
英文資料來源: https://bit.ly/2Y7p1gR
圖片來源: https://bit.ly/2UipYC2
★★★★★★★★★★★★
教育時評:http://bit.ly/39ABON9
c coding style 在 Johntool-工具王阿璋 Facebook 的最佳解答
【#程式教學】打程式「安捏母湯」啦!
☑️如何保持良好的 Coding Style?
不論在各種程式語言中,保持良好的 Coding Style 都是很重要的😌😌😌
就別說酒醉起來認不得自己的程式碼有多糗了🤢想看糗事,請追蹤上一篇貼文:Code 是什麼?Coding Style 是什麼?
良好的 Coding Style 可以讓程式邏輯更容易被瞭解,也可以增加專案的易讀性和維護性、間接加快開發速度。阿璋會列出幾點重要的 Coding Style,就讓我們一起看下去吧🙌🏻!
1️⃣變數命名
我們會為每個參數取上方便記憶、容易理解的名稱,而不會把電腦叫做a,滑鼠叫做aa,鍵盤取作aaa之類。因此,一個好的變數名稱,應該會讓人一眼就可以猜出他的功能。
2️⃣縮排
Code 是層次分明的,像是 for 迴圈、if 判斷是一整個區塊,這時候就可以用適當的縮排來強調這些層次的關係。
像是 Python 就要求一定要縮排,如果沒有加入 4 個 Space 就會執行錯誤🙅🏻。
3️⃣換行
C/C++ 的指令是以「行」為單位的,在每個分號之前就是一行指令。確實把行斷開,可以比較容易看出程式的結構,就像是寫作文不可能不換段落或是寫標點符號,這絕對會被老師打出3級分啊💀
4️⃣註解
盡量提醒自己,當自己的程式碼無法自己說話時,就必須幫程式碼說話👄
在每個 Function 開頭加入一段註解,說明這個 Function 的功能、參數、輸入、輸出。
☑️Coding Style 最重要的目標在於增加程式的易讀性與強健性。只要符合這兩點,不但可以增加專案的開發速度、甚至也能增強程式的可維護性🦾
請注意,有些 Coding Style 是必須遵守的;有些 Coding Style 則是會根據個人/團隊的使用習慣、見解而有所改變👥,這部分的 Coding Style 只是阿璋提出一些建議與經驗來供讀者參考,最終是否要採用還是以專案一致性與習慣為主唷🧠
☑️你有更了解Coding Style 了嗎?
想知道更多?
【歡迎追蹤Johntool-工具王阿璋 @johntooltw ↓↓↓】
facebook►
https://www.facebook.com/JohntoolTW
instagram►
https://www.instagram.com/johntooltw
收到更多 #程式教學 #不務正業工程師 系列!
#程式 #程式語言 #程式入門 #engineer #engineering #學習 #study #coding #code #程式設計 #program #programming #專案 #軟體工程 #團隊合作 #分享 #share #Johntool #工具王阿璋
c coding style 在 prasertcbs Youtube 的最佳解答
เข้าใจไวยากรณ์พื้นฐานของภาษา C++ อันได้แก่
1) รูปแบบประโยคคำสั่ง และการจบประโยคคำสั่งด้วยเครื่องหมาย ; (semicolon)
2) การใช้ white spaces (space, tab) ในภาษา C++
3) เข้าใจถึง C++ ซึ่งเป็นภาษาแบบ Case sensitive คือ ตัวอักษรตัวใหญ่และตัวเล็กมีความแตกต่างกัน เช่น ตัวแปรชื่อ story กับ Story จะถือว่าเป็นคนละตัวกัน รวมถึงชื่อของฟังก์ชันที่สร้างขึ้นด้วย
4) รูปแบบการเขียนโค้ด (coding style) เพื่อให้อ่านได้ง่าย
ดาวน์โหลดไฟล์ตัวอย่างได้ที่ https://goo.gl/UTaY8R
เชิญสมัครเป็นสมาชิกของช่องนี้ได้ที่ ► https://www.youtube.com/subscription_center?add_user=prasertcbs
playlist สอนภาษา C++ ► https://www.youtube.com/playlist?list=PLoTScYm9O0GEfZwqM2KyCBcPTVsc6cU_i
playlist สอนภาษา C เบื้องต้น ► https://www.youtube.com/playlist?list=PLoTScYm9O0GHHgz0S1tSyIl7vkG0y105z
playlist สอนภาษา C# ► https://www.youtube.com/playlist?list=PLoTScYm9O0GE4trr-XPozJRwaY7V9hx8K
playlist สอนภาษา Java ► https://www.youtube.com/playlist?list=PLoTScYm9O0GF26yW0zVc2rzjkygafsILN
playlist สอนภาษา Python ► https://www.youtube.com/playlist?list=PLoTScYm9O0GH4YQs9t4tf2RIYolHt_YwW
playlist สอนภาษาไพธอน Python OOP ► https://www.youtube.com/playlist?list=PLoTScYm9O0GEIZzlTKPUiOqkewkWmwadW
playlist สอน Python 3 GUI ► https://www.youtube.com/playlist?list=PLoTScYm9O0GFB1Y3cCmb9aPD5xRB1T11y
playlist สอนภาษา PHP เบื้องต้น ► https://www.youtube.com/playlist?list=PLoTScYm9O0GH_6LARFxozL_viEsXV2wgO
playlist สอนภาษา R เบื้องต้น ► https://www.youtube.com/playlist?list=PLoTScYm9O0GF6qjrRuZFSHdnBXD2KVICp
c coding style 在 Recommended C style and coding rules - GitHub 的推薦與評價
Always use /* comment */ for comments, even for single-line comment · Always include check for C++ with extern keyword in header file · Every function must ... ... <看更多>
c coding style 在 Google C++ Style Guide 的推薦與評價
As every C++ programmer knows, the language has many powerful features, but this power brings with it complexity, which in turn can make code more bug-prone ... ... <看更多>