โปรแกรมเมอร์ที่ดีต้องมีไวยากรณ์ที่ปลายลิ้นเมื่อเขียนรหัสหรือไม่ คุณทำอะไรกับพวกเขาหากพวกเขา google หาสิ่งออนไลน์ง่ายๆ พวกเขาดีหรือไม่ดี (บางทีพวกเขารู้ว่าจะหาที่ไหน)? โปรแกรมเมอร์ควรมีความจำดีหรือไม่? นี่เป็นคุณลักษณะสำหรับโปรแกรมเมอร์ที่ดีหรือไม่?
โปรแกรมเมอร์ที่ดีต้องมีไวยากรณ์ที่ปลายลิ้นเมื่อเขียนรหัสหรือไม่ คุณทำอะไรกับพวกเขาหากพวกเขา google หาสิ่งออนไลน์ง่ายๆ พวกเขาดีหรือไม่ดี (บางทีพวกเขารู้ว่าจะหาที่ไหน)? โปรแกรมเมอร์ควรมีความจำดีหรือไม่? นี่เป็นคุณลักษณะสำหรับโปรแกรมเมอร์ที่ดีหรือไม่?
คำตอบ:
ปรัชญาในการเขียนโปรแกรมของฉันคือมันเป็น "สภาวะของจิตใจ" และส่วนที่เหลือคือ "เพียงไวยากรณ์" (เช่นไม่ใช่ (สำคัญ))
ที่กล่าวว่าหนึ่งไม่ควรต้องค้นหาสิ่งที่ง่าย อย่างน้อยไม่ใช่สำหรับภาษาที่คุณทำงานด้วยเป็นประจำ ไม่มีอะไรผิดปกติกับการต้องการรีเฟรชและการรู้วิธีค้นหาข้อมูลเป็นทักษะที่ดีอย่างแน่นอน อย่างไรก็ตามไวยากรณ์หลักควรเป็นที่รู้จักกันดี มิฉะนั้นคุณจะใช้เวลาในการค้นหามากเกินไปและใช้เวลาในการเขียนโปรแกรมน้อยเกินไป
มันขึ้นอยู่กับสิ่งที่คุณหมายถึง แต่คำตอบสั้น ๆ คือใช่
โปรแกรมเมอร์จะลืมเซมิโคลอนหรือรั้งที่นี่หรือไม่ แน่ใจ พวกเขาจะค้นหาไวยากรณ์ของคำสั่ง switch เพราะพวกเขาอาจจะไม่ค่อยได้ใช้มันหรือไม่? ฉันทำ ฉันจะทำงานกับ ActionScript แต่เขียนเหมือน Java แทนหรือไม่ อย่างแน่นอน. อาจต้องใช้เวลาพอสมควรในการพิมพ์ในภาษาใหม่โดยเฉพาะอย่างยิ่งหากคุณทำงานกับคนอื่นมานานหลายปี
สิ่งที่ควรคำนึงถึงอย่างแท้จริงคือหากโปรแกรมเมอร์ไม่สามารถสร้างหัวหรือก้อยของไวยากรณ์ได้แม้ว่า IDE จะช่วยเหลือพวกเขาก็ตาม หากบุคคลนั้นไม่ทราบว่าเซมิโคลอนมีไว้เพื่ออะไรหรือว่าเครื่องมือจัดฟันแบบหยิกแฟนซีนั้นเป็นเช่นไรพวกเขาก็ต้องศึกษาเพิ่มเติม
switch
แล้วตามด้วยวงเล็บในวงเล็บจากนั้นเป็นวงเล็บเปิดแล้วcase
เครื่องหมายที่ไม่ได้อยู่ในวงเล็บแล้วเครื่องหมายโคลอนจากนั้นข้อความทั่วไปจะถูกลบล้างด้วยเซมิโคลอน และอย่าลืมbreak
ว่า มันผ่านความพยายามและความตั้งใจอย่างเต็มที่ที่ฉันจำได้ในที่สุดและฉันยังต้องตรวจสอบซ้ำเป็นครั้งคราว เพียงเพื่อให้แน่ใจ
ฉันจะแปลกใจอย่างแน่นอนถ้าโปรแกรมเมอร์ที่ดีคนอื่นต้องค้นหาไวยากรณ์สำหรับภาษาที่พวกเขาพูดได้อย่างคล่องแคล่วเป็นประจำแน่นอนอาจมีกรณีศึกษาที่ไม่ได้ใช้งานบ่อยนักเพื่อที่จะยอมรับได้อย่างสมบูรณ์ สำหรับโปรแกรมเมอร์ที่ดีที่ไม่รู้จัก แต่ตามกฎทั่วไปโปรแกรมเมอร์ที่คล่องแคล่วไม่จำเป็นต้องค้นหาไวยากรณ์ เขา / เธอต้องค้นหาฟังก์ชั่นและคลาสจากไลบรารี่ :)
std::string
ยกตัวอย่างเช่นฉันจะไม่จดจำสมาชิกทุกคน
หากคุณอยู่ในตำแหน่งที่คุณเปลี่ยนภาษาเป็นประจำหรือทำงานใน 3 หรือ 4 ภาษาในเวลาเดียวกันคุณไม่สามารถทำอะไรได้มากมาย ในขณะที่ฉันลงเอยด้วยการทำงานในโครงการที่จำเป็นต้องเปลี่ยนอย่างต่อเนื่องและเริ่มที่จะอ้างถึงตัวเองว่าเป็น "โปรแกรมเมอร์ผู้เขียนโปรแกรม" ต้องค้นหาสิ่งต่าง ๆ มากกว่าที่ฉันต้องการ
ฉันเขียน C ++ เป็นเวลา> 15 ปีแล้ว แต่ฉันก็ยังไม่รู้ว่ามันเป็นมุมที่เกี่ยวกับการสร้างประโยคแบบลับ ๆ
คุณจะยกตัวอย่างแม่แบบฟังก์ชันอย่างชัดเจนได้อย่างไร และไวยากรณ์ใดที่เชี่ยวชาญเทมเพลตที่มีอาร์กิวเมนต์เท็มเพลตเทมเพลตบางส่วน และอย่าให้ฉันเริ่มต้นด้วยการประกาศฟังก์ชั่นที่ส่งกลับพอยน์เตอร์ไปยังอาเรย์ของพอยน์เตอร์ไปยังฟังก์ชั่นที่ใช้พอยน์เตอร์อาร์เรย์ไปยัง ...
ฉันสงสัยว่ามีมากที่สุดคนหนึ่งหรือสองคนโหลในโลกนี้ (ถ้ามีที่ทั้งหมด) ที่จะรู้ว่าจริงๆทั้งหมดของ C ++' ไวยากรณ์ด้วยหัวใจ และนี่อาจเป็นรายได้ทั้งหมดจากการเขียนส่วนต่อท้ายคอมไพเลอร์ C ++
ฉันอยากรู้เกี่ยวกับ "ไวยากรณ์" ของ Google ที่นี่
ความสงสัยของฉัน (และความกลัว) คือเราไม่ได้พูดถึงพารามิเตอร์ที่ใช้ในการโทร (เพราะ IDEs ส่วนใหญ่จะแจ้งให้คุณที่นั่นเพื่อให้คุณไม่ได้ Google พวกเขา) แต่ที่จริงแล้ว "วิธีทำ X"
IDEs ทำให้ไม่จำเป็นต้องจดจำชื่อและรายการพารามิเตอร์ที่แม่นยำในแบบที่เคยต้องการและทำให้หลายคนขี้เกียจนิดหน่อยเกี่ยวกับเรื่องนี้ แต่ก็ไม่เป็นไร
แต่คุณต้องการอะไรกับ Google สำหรับฉันที่มักจะไม่ใช่ไวยากรณ์นั่นเป็นเพียงสิ่งที่คุณไม่รู้จักหรือคุ้นเคยเท่านั้น
แน่นอนว่าไม่ใช่เรื่องที่จะต้องทำกับ Google - ภาษาต่างๆค่อนข้างกว้างในทุกวันนี้และบางคนก็รู้ทุกอย่าง แต่ฉันจะบอกว่าถ้าคุณอ้างว่ามีความสามารถในการใช้ภาษา Google ก็ควรเป็นข้อยกเว้นมากกว่ากฎ .
สำหรับฉันถ้าคุณไม่ได้ทำอะไรที่ค่อนข้างผิดปกติหรือบางทีคุณอาจเป็นสนิมด้วยภาษาหลังจากช่วงเวลาที่ทำสิ่งที่แตกต่างกันถ้าคุณอ้างว่า "รู้" ภาษาคุณไม่ควร Googling มากกว่า 10% ของสิ่ง อย่างมากและนั่นควรเป็นสิ่งที่เฉพาะเจาะจงจริงๆ
อ้างอิงจากแนวคิดที่ว่านี่เป็นเรื่องเกี่ยวกับการมีความทรงจำที่ดีไม่ใช่อย่างนั้นจริงๆ มันเกี่ยวกับการเรียงลำดับของความรู้สึกสัญชาตญาณที่คุณได้รับจากสิ่งที่คุณรู้ (แทนที่จะเผินๆ) รู้ ฉันไม่ได้พิจารณาข้อเท็จจริงที่ว่าฉันรู้วิธีปรุงอาหาร Melanzane Parmigiana โดยไม่ต้องมีสูตรที่บ่งบอกว่าฉันมีความทรงจำที่ดีมันเป็นสัญญาณที่ฉันเข้าใจวิธีการปรุงอาหารจานนั้น - มันเป็นสิ่งที่แตกต่างกันเล็กน้อย
นอกจากนี้ถามตัวเองว่าคุณคาดหวังว่าจะได้เข้าไปในครัวร้านอาหารและพบว่าพ่อครัวกำลังดูตำราอาหารอยู่เสมอ หรือเพื่อดูว่าช่างกำลังทำงานกับรถของคุณสะบัดผ่านคู่มือ Hayes สำหรับรุ่นนั้นหรือไม่? ถ้าฉันเห็นสิ่งเหล่านี้ฉันไม่สบายใจเกี่ยวกับความดีของบุคคลนั้น
syntax != api
ความคิดเห็นของฉันคือไม่ไม่ใช่ไวยากรณ์ซึ่งมีความสำคัญ แต่ตรรกะของคุณที่มีต่อการแก้ปัญหาหรือการบรรลุเป้าหมายถ้าคุณคิดว่าจะทำงานกับหลาย ๆ ภาษามันเป็นเรื่องธรรมดาที่บางครั้งคุณไม่จำไวยากรณ์ที่แน่นอน
วากยสัมพันธ์เป็นเพียงมุมมองด้านบนของความหมายพื้นฐานของภาษาเพราะการเขียนโปรแกรมเป็นเรื่องเกี่ยวกับการใช้อิฐความหมายพื้นฐานในการสร้างบางสิ่งบางอย่าง หากคุณไม่เข้าใจแนวคิดพื้นฐานที่ใช้ภาษานั้นไม่สำคัญว่าคุณจำไวยากรณ์ได้ดีแค่ไหนรหัสของคุณจะไม่เป็นระเบียบ อย่างที่บางคนเคยพูดว่า "โปรแกรมเมอร์ที่ดีมีล่ามและคอมไพเลอร์ไว้ในหัว" สังเกตว่าไม่มีการเอ่ยถึงไวยากรณ์เพราะนั่นไม่ใช่ที่ที่งานจริงเกิดขึ้น