เส้นทางไปสู่การชำนาญ JavaScript คืออะไร? [ปิด]


18

ฉันรู้ว่าเราเริ่มต้นด้วย JavaScript ได้อย่างไรเราตัดและวางส่วนย่อยเพื่อรับฟังก์ชั่นหรือการตรวจสอบความถูกต้องของฝั่งไคลเอ็นต์

แต่ถ้าคุณทำตามเส้นทางนี้ในการพยายามที่จะใช้พฤติกรรมการโต้ตอบที่หลากหลายมันใช้เวลาไม่นานก่อนที่คุณจะรู้ว่าคุณกำลังสร้าง Big Ball Of Mud

ดังนั้นเส้นทางสู่ความเชี่ยวชาญในการเขียนโปรแกรมเลเยอร์การโต้ตอบคืออะไร? หนังสือแบบฝึกหัดแบบฝึกหัดและกระบวนการใดบ้างที่สนับสนุนความสามารถในการโปรแกรมจาวาสคริปต์ที่บำรุงรักษาได้

เราทุกคนรู้ว่าการฝึกฝนนั้นมีความสำคัญในความพยายามใด ๆ แต่ฉันกำลังมองหาเส้นทางที่คล้ายกับคำตอบที่นี่: /programming/2573135/


"เลเยอร์ปฏิสัมพันธ์หรือไม่"
Robert Harvey

1
ควรเป็นแท็กใหม่ในความคิดของฉัน: P
Mike

1
อีกคำถามหนึ่งที่คำตอบคือฝึกฝนเหมือนฟิลด์อื่นที่คุณต้องการเชี่ยวชาญ ฝึกฝนเรียนรู้จากเพื่อนของคุณ (คนที่มีทักษะมากกว่า) และฉันก็พูดถึงการฝึกฝน กระบวนการในการเรียนรู้การเขียนโปรแกรมภาษา x นั้นเหมือนกับกระบวนการเขียนโปรแกรมภาษา y ซึ่งเหมือนกับการเรียนรู้การแกะสลักหรือการถักหรือการค้าอื่น ๆ
Chris

1
@johnny: เมื่อคุณสามารถฉกข้อยกเว้นจากการติดตามสแต็ก ...
TMN

1
@Chris - หากคุณไปตามลิงก์ที่ฉันรวมไว้คุณจะเห็นว่าคำถามดังกล่าวสามารถตอบได้อย่างมีประโยชน์ การพูดว่า "คำตอบคือการฝึกฝน" ไม่เป็นประโยชน์ ชี้ไปที่จุดสังเกตบางแห่งตามเส้นทางที่มีประโยชน์อย่าบอกให้ฉันเริ่มเดิน
Eric Wilson

คำตอบ:


15

อ่านรหัสประชาชนอื่น ( มาก ) และพยายามทำความเข้าใจกับสิ่งที่พวกเขาทำและทำไมพวกเขาถึงทำมัน เขียนโค้ดของคุณเอง ( มาก ) ลองแนวคิดและแนวคิดใหม่ ๆ เหนือสิ่งอื่นใดที่เล่นและสนุก วิธีที่ดีที่สุดในการทำให้ดีขึ้นในบางสิ่งคือฝึกฝนฝึกฝนและฝึกฝนมากขึ้น

อ่านหนังสือบทแนะนำบทความบล็อกฟีด RSS และอื่น ๆ

สร้างโครงการบางอย่างเพื่อทำงานในเวลาว่าง หากคุณไม่สามารถนึกถึงบางสิ่งได้ให้ค้นหาโครงการโอเพนซอร์ซที่คุณอาจสนใจ

อย่าท้อแท้และเหนือสิ่งอื่นโปรดจำไว้ว่า "ความเชี่ยวชาญ" ไม่ใช่จุดหมายปลายทาง แต่เป็นการเดินทาง - นำติดตัวไปด้วยตนเองมีความสนุกสนานและเพลิดเพลินกับทิวทัศน์ หากคุณจริงจังกับมันมากเกินไปคุณจะถูกไฟไหม้และนั่นก็ไม่ส่งผลดีอะไรเลย


7
ฉันหวังว่านี้จะตอบโดยอัตโนมัติเมื่อมีคนถามว่า "เรียนรู้ / master X" อย่างไร ฟังดูเหมือนวิธีการพิสูจน์หลักฐานทางคณิตศาสตร์หรือปรับปรุงนวนิยาย ดูการทำงานของ X ฝึก X ด้วยตัวเองล้างทำซ้ำ -> Master in X
Chris

@Chris, Yup นี่เป็นคำตอบมาตรฐานของฉัน
Muad'Dib

แม้ว่าฉันสามารถพูดคำถามเกี่ยวกับการได้รับการอ้างอิงที่ดี / หนังสือ / วัสดุเป็นคำถามที่ฉันสนุก เมื่อเร็ว ๆ นี้ใช้เวลากับงูหลามและคำถามที่เรามีprogrammers.stackexchange.com/questions/12189/ …ฉันพบว่าเป็นดาราที่จะพาฉันออกจากพื้นดินและวิ่ง
Chris

@ Chris ใช่คำตอบนี้เป็นคำแนะนำทั่วไปมากขึ้นและขาดขั้นตอนเฉพาะซึ่งสามารถเป็นไปได้ในใจของฉันวัตถุประสงค์มาก ฉันก็เช่นกันที่จะเห็นลิงก์ แต่นั่นคือสิ่งที่ Google มีไว้ใช่มั้ย
Muad'Dib

ถูกต้อง แต่ google ไม่สามารถให้ปฏิกิริยาหรือความประทับใจของเนื้อหาได้ Google ทำได้ดี แต่ไม่ได้ทำทั้งหมด ตกลงโดยไม่คำนึงถึง t
Chris

9

ลิงก์น้อยสำหรับผู้เชี่ยวชาญ JS


3

ก่อนอื่นคุณต้องรู้ว่าเป้าหมายของคุณเกี่ยวกับการเรียนรู้ JavaScript จะเป็นอย่างไร หากคุณเป็นเพียงมองหาการทำเข้าตรวจสอบบางอย่างและทำให้ UI แบบบิตง่ายขึ้นอยู่กับผู้ใช้จริงๆแล้วคุณไม่จำเป็นต้องมีความเข้าใจในเชิงลึกเต็มรูปแบบของภาษาถ้าคุณกำลังใช้กรอบเช่นjQuery

ที่กล่าวว่าหากคุณต้องการความเข้าใจที่มั่นคงเกี่ยวกับจาวาสคริปต์ให้ลองและเขียนส่วนขยายไปยังเฟรมเวิร์กที่มีอยู่ซึ่งใช้เครื่องมือที่มีประโยชน์

ในแง่ของหนังสือและทรัพยากรอื่น ๆ ที่ผมยังไม่เคยได้ยินจริงๆมากในทางของหนังสือที่มีประโยชน์และโดยทั่วไปฉันได้เรียนรู้ภาษา แต่พยายามที่จะแก้ปัญหาและการตรวจสอบเพื่อให้แน่ใจว่ารหัสของฉันมีความสะอาดตามไปJSLint การรวมกันของปัญหาที่น่าสนใจ (เช่นส่วนขยายของกรอบงาน), JSLint และเวลามากพอที่จะได้รับการฝึกฝนที่ดีน่าจะเป็นทางออกที่ดีที่สุดของคุณในแง่ของการเรียนรู้ภาษา


2

ก่อนที่คุณจะเรียนรู้รายละเอียดการพัฒนาเว็บใด ๆ (DOM ฯลฯ ) เรียนรู้ภาษาหลัก คุณสามารถเรียนรู้ได้หลายวิธีเช่นหนังสือวิดีโอฯลฯ แน่นอนว่าคุณจะต้องอ่านและเขียนโค้ด

ECMAScript (นั่นคือชื่อมาตรฐานภาษา - javascript หมายถึงการใช้งานหลายอย่าง) เป็นภาษาที่น่าสนใจมาก มันเป็นภาษาเชิงวัตถุที่ใช้งานได้ดีและมีต้นแบบดังนั้นคุณควรใช้เวลาในการทำความเข้าใจหลักการของกระบวนทัศน์เหล่านี้

เรียนรู้การใช้คอนโซลแบบโต้ตอบในเบราว์เซอร์ของคุณ (ใน Chromium คุณสามารถเข้าถึงได้โดยกดCtrl+ Shift+ J) ซึ่งคล้ายกับเครื่องมืออย่าง IRB และล่าม Python แบบโต้ตอบ สิ่งนี้มีประโยชน์สำหรับการทดสอบคุณสมบัติภาษาและการดีบัก

ใช้JSLintเพื่อตรวจสอบคุณภาพรหัสของคุณ

เมื่อคุณเริ่มทำการพัฒนา 'ของจริง' โดยใช้ DHTML ทำให้ชีวิตของคุณง่ายขึ้นโดยใช้เฟรมเวิร์กเช่นJQueryเพื่อจัดการกับปัญหาเบราว์เซอร์ข้ามที่น่าหงุดหงิด


1

เทคนิคมากมายที่ทำให้โปรแกรมเมอร์เป็นผู้เชี่ยวชาญในภาษาใดภาษาหนึ่งสามารถใช้งานได้ที่นี่แม้ว่าจาวาสคริปต์จะมีไข่มุกคู่อยู่ซึ่งอนุญาตให้ใช้กับเอฟเฟกต์พิเศษได้ บางทีหนึ่งในอุปสรรคที่ยิ่งใหญ่ที่สุดที่ฉันต้องใช้เกินจาวาสคริปต์ก็คือการยกเลิกความคิดการเขียนโปรแกรม "C" ของฉันซึ่งก็คือการพูดฟังก์ชั่นเล็ก ๆ นับพันฟังก์ชั่นเล็ก ๆ

คำแนะนำทั่วไปคือให้นามธรรมทุกครั้งที่คุณทำได้และพยายามสร้างชั้นเรียนทุกครั้งที่คุณสามารถจัดระเบียบพฤติกรรมทั่วไป สร้างไฟล์ js ใหม่สำหรับฟังก์ชั่นการใช้งานใด ๆ ที่สามารถใช้เพื่อผลที่ดีในไฟล์ js อื่น ๆ ของคุณ (ภายในเหตุผล) และหลีกเลี่ยงตัวแปรโกลบอลหากเป็นไปได้ ฉันขอแนะนำให้คุณเรียนรู้jQueryหากคุณยังไม่ได้ทำ มันเป็นเครื่องมือที่ฉันหลงรักและตอนนี้ฉันก็ไม่ทำ มันเป็นส่วนขยายที่ยืดหยุ่นอย่างยิ่งของจาวาสคริปต์ซึ่งช่วยให้คุณลดความซับซ้อนของรหัสของคุณอย่างมากซึ่งเป็นสิ่งที่ดีสำหรับความเรียบง่ายและความสามารถในการรหัสอย่างรวดเร็วและมีประสิทธิภาพเช่นกัน jQuery มาพร้อมกับไลบรารี่ปลั๊กอินขนาดใหญ่ที่ให้คุณทำหลายสิ่งที่ไม่น่าประทับใจถ้าคุณใช้แฟลช ลองใช้jQuery UIสำหรับระบบชุดรูปแบบทั้งหมดสำหรับเว็บไซต์ของคุณช่วยให้คุณสามารถปรับเปลี่ยนเค้าโครงทั้งหมดของไซต์ได้อย่างมีประสิทธิภาพโดยไม่ต้องทำอะไรมากมายเลย มาพร้อมกับเอฟเฟกต์ภาพเคลื่อนไหวจำนวนมากและการควบคุมที่มีประโยชน์ที่ใช้กันทั่วไปในเว็บไซต์ (ตัวเลือกวันที่, ปุ่ม, แถบความคืบหน้า ฯลฯ ) ซึ่งส่วนใหญ่สามารถเปิดใช้งานได้โดยใช้จาวาสคริปต์บรรทัดเดียว

หวังว่าจะช่วย!


1

สิ่งที่คุณทำใน JavaScript นั้นเกี่ยวพันกับ DOM, CSS และความเข้ากันได้ของเบราว์เซอร์เป็นหลักดังนั้นการเข้าใจว่า DOM เป็นหนึ่งในข้อกำหนดหลักในการควบคุม JavaScript

การเรียนรู้คุณสมบัติหลักของภาษาเช่นการวางแนววัตถุตามต้นแบบฟังก์ชันที่ไม่ระบุชื่อและคุณสมบัติภาษาทั่วไปอื่น ๆ เช่นลูปเงื่อนไข ฯลฯ เป็นกุญแจสำคัญในการทำความเข้าใจโค้ดใด ๆ ที่คุณอ่านซึ่งไม่ได้โต้ตอบกับ DOM / CSS เป็นพิเศษ .

คุณจะต้องเรียนรู้ห้องสมุดมาตรฐานภาษาเช่น String และ Math และฟังก์ชั่นวัตถุหลักอื่น ๆ

คุณควรศึกษาอัลกอริธึมด้วยหากคุณต้องการได้รับความเข้าใจที่แท้จริงและสมบูรณ์เกี่ยวกับวิธีการทำสิ่งต่าง ๆ และวิธีการใช้งานโซลูชันขั้นสูงเพิ่มเติมความรู้นี้เป็นพื้นฐานในการทำความเข้าใจการเขียนโปรแกรมขั้นสูง


1

อ่านรหัสของไลบรารีที่คุณใช้ การอ่านแหล่ง jQuery หรือ Prototype จะสอนคุณเกี่ยวกับสิ่งที่เกิดขึ้นจริงใน javascript และใน dom เทคนิคการวิจัยที่ห้องสมุดใช้เพื่อให้คุณสามารถเข้าใจได้ รู้สึกอิสระที่จะเริ่มต้นด้วยการอ่านไมโครกรอบที่http://microjs.com/ ตรวจสอบให้แน่ใจว่าคุณดูที่แหล่งข้อมูลจริงไม่ใช่เฉพาะแฟ้มที่แจกจ่าย (jQuery มีไฟล์ต้นฉบับจำนวนโหลหรือมากกว่านั้น แต่ไฟล์เหล่านั้นถูกประกอบโดยกระบวนการสร้าง)


0

Javascript ถูกนำไปใช้ในหลาย ๆ ด้านในขณะนี้

  • มันเป็นภาษาเดียวในเบราว์เซอร์ที่ทันสมัย
  • มันสามารถทำงานบนเซิร์ฟเวอร์ขอบคุณ node.js และเอ็นจิ้น V8
  • มันสามารถเรียกใช้ฝังในอุปกรณ์มือถือผ่าน PhoneGap หรือทางเลือกอื่น ๆ
  • สามารถใช้สร้างแอพพลิเคชั่น windows 8 ได้

ดังนั้นฉันเชื่อว่ามีจาวาสคริปต์มากขึ้น มันขึ้นอยู่กับสิ่งที่คุณต้องการเริ่มต้น แต่โปรดมั่นใจว่าแต่ละรายการทั้งสี่ที่กล่าวถึงข้างต้นจะให้ความท้าทายที่แตกต่างกัน - โอเคบางทีหน้าต่าง 8 และช่องโทรศัพท์ของโทรศัพท์อาจจะคล้ายกัน

หากเรากำลังพูดถึงสภาพแวดล้อมของเบราว์เซอร์การเรียนรู้ว่าเกือบทุกเว็บแอปพลิเคชันควรถูกจัดเป็นหนึ่งในเส้นทางที่คุณสามารถดำเนินการต่อไปได้ ฉันกำลังลงไปที่เส้นทางนั้นและทดลองกับแนวคิดของตัวเองตรวจสอบ repos คอมไพล์ของไลบรารีองค์กรที่เป็นที่นิยมของรหัสเช่น dojo, backbone, ถ่าน ฯลฯ

หากเรากำลังพูดถึงสภาพแวดล้อมของโหนด js นั่นเป็นอีกเรื่องหนึ่ง เราไม่เกี่ยวข้องกับการลดขนาดและขนาดไฟล์ การสร้างแอปพลิเคชันทั้งหมดในโหนดสร้างระบบไซต์ REST api มีหลายสิ่งที่จะค้นพบที่นั่น

หากเรากำลังพูดถึงโลกมือถือการคำนึงถึงการเพิ่มประสิทธิภาพเป็นสิ่งสำคัญ คุณสมบัติเร่งความเร็ว, CSS3, ภาพเคลื่อนไหว, กิจกรรมการแตะและพยายามใช้สถาปัตยกรรมเดียวกันกับเว็บที่มีส่วนประกอบ UI พิเศษมากขึ้นเป็นสิ่งที่ดีสำหรับการเริ่มต้น

โดยสรุปแล้วเช่นเดียวกับคนอื่น ๆ ตอบโต้การทดสอบด้วยรหัสของคุณเองและด้วยรหัสของผู้อื่นนั้นเป็นวิธีที่ดีที่สุดในการมีส่วนร่วมติดตามสิ่งใหม่ ๆ และใครจะรู้

อีกสิ่งหนึ่งที่ช่วยได้คือการทำงานเป็นทีมและเข้าใจความแตกต่างระหว่างทางของคุณและวิธีการเขียนโค้ดของทีม การทำงานกับทีมนักพัฒนาจาวาสคริปต์จะบังคับให้คุณเขียนโค้ดที่ดีขึ้นและจัดทำเอกสารได้ดี ฉันคิดว่าไม่มีวิธีที่ดีกว่าในการเรียนรู้เกี่ยวกับสถาปัตยกรรมของแอปพลิเคชันกว่าการเขียนวิกิเกี่ยวกับสิ่งที่คุณตั้งใจจะนำไปใช้หรือนำไปใช้แล้ว


-1

ฉันเกลียด JavaScript จนกว่าฉันจะค้นพบ jQuery ตอนนี้ฉันรักมันและใช้มันตลอดเวลา อาจจะมากเกินไป


คุณเกลียดการปฏิบัติตาม DOM และข้ามเบราว์เซอร์ไม่ใช่ EcmaScript
Raynos

jQuery ทำให้ Javascript สนุก! +1
แบบไดนามิก
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.