โปรแกรมเมอร์ต้องการหน่วยความจำที่ดีหรือไม่? [ปิด]


16

ดูเหมือนว่าเราต้องจำไวยากรณ์ทุกประเภทเพื่อให้สามารถเขียนโปรแกรมได้ หากไม่มีหน่วยความจำที่ดีในการจดจำชื่อจะเป็นการยากที่จะเรียนรู้การเขียนโปรแกรม?


20
มีชื่อสำหรับความทรงจำที่ดีสำหรับชื่อ แต่ฉันลืมว่ามันคืออะไร
Mike Two

3
หากไวยากรณ์เป็นปัญหาให้เลือกภาษาที่มีไวยากรณ์น้อยที่สุด เสียงกระเพื่อม / Clojure?
Chiron

1
วันนี้ผมไม่ได้ใช้การเขียนโปรแกรมทุกวัน แต่ฉันจะใช้จ่ายบางเวลาเขียนโปรแกรมทุกวัน และฉันเขียนโปรแกรมเป็นภาษาต่าง ๆ ที่ไม่เหมือนกัน ฉันเขียนโปรแกรมใน C, Java, Javascript, Lisp, VBA, PL / SQL, Ruby, Python, Perl, Smalltalk และแม้แต่ Prolog เล็กน้อยเป็นครั้งคราว ฉันแค่ค้นหาไวยากรณ์
Mike Sherrill 'Cat Recall'

4
ถ้าพวกเขาทำฉันแกล้งทำมันมาประมาณ 13 ปี
ElGringoGrande

1
มหาวิทยาลัยสอนอย่างแน่นอนเหมือนคุณต้องการความทรงจำที่ดีซึ่งโง่ที่สุด ฉันเป็นที่รู้จักอย่างมากในเรื่องการกำหนดให้การสอบ CS ขั้นสุดท้ายมีค่าอย่างน้อย 50% (มักจะปิดหนังสือเสมอ) และมิดเทอมมักจะมีอย่างน้อย 30-40%
Rei Miyasaka

คำตอบ:


34

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


+1 มันกลายเป็นธรรมชาติที่สองจริงๆ ฉันมองกลับไปที่โค้ดและจำไม่ได้ว่าทำตามกฎการจัดรูปแบบใด ๆ ที่ฉันติดตาม ...
เรด

1
คู่มือกระเป๋าของ O'Reilly ช่วยฉันติดตามเรื่องต่างๆ มีประโยชน์อย่างมาก
วิศวกรโลก

17

ดูเหมือนว่าหนึ่งจะต้องจำทุกประเภทของไวยากรณ์เพื่อให้สามารถ โปรแกรมพูดภาษาธรรมชาติ

หากไม่มีความจำที่ดีในการจดจำ คำศัพท์ชื่อมันจะเป็นการยากที่จะเรียนรู้ที่จะ พูดโปรแกรมหรือไม่?

มันคงไม่เป็นความจริงเลยที่ผู้คนจะมีสิ่งอำนวยความสะดวกที่เป็น "ธรรมชาติ" ด้วยภาษาใช่ไหม

มันอาจจะไม่เป็นความจริงเลยที่เรามีฮาร์ดแวร์ระบบประสาทระดับต่ำเพียงเพื่อให้ได้ภาษาเท่านั้นใช่มั้ย

การเขียนโปรแกรมใช้ภาษาประดิษฐ์ที่เป็นไปตามกฎของภาษาธรรมชาติมากมาย

ภาษาธรรมชาติมีเล็ก ๆ น้อย ๆความยืดหยุ่นมากขึ้นกว่าการเขียนโปรแกรมภาษา

ไวยากรณ์ของยังคงเข้มงวด กฎมีมากซึ่ง แต่

หากคุณสามารถพูดได้คุณสามารถเรียนรู้การเขียนโปรแกรมโดยไม่ต้องจำอะไรมากไปกว่าสิ่งที่คุณท่องจำเมื่อคุณเรียนรู้ที่จะพูด


13

ใช่:

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

No:

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


1
+1 สำหรับการวาดการเปรียบเทียบที่เป็นประโยชน์ระหว่างประโยชน์ของหน่วยความจำระยะสั้นและระยะยาวที่เกี่ยวข้องกับคำถาม กำลังรอที่จะเห็นใครสักคนทำเช่นนั้น
KChaloux

8

ความทรงจำที่ดีเป็นสิ่งจำเป็นอย่างยิ่ง แต่ไม่ใช่ด้วยเหตุผลที่ชัดเจน

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

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

นี้มักจะเรียกว่าอยู่ในโซน การขัดจังหวะคำถามงี่เง่าผู้บังคับบัญชาที่ต้องการ TPS จะรายงานคุณทั้งหมดจากโซนนี้

ยิ่งหน่วยความจำของคุณดีขึ้นเท่าไหร่ก็จะยิ่งเข้าเขตได้ง่ายขึ้นอยู่ที่นั่นได้ง่ายขึ้นและยิ่งกลับเข้าไปได้ง่ายขึ้นหลังจากถูกขัดจังหวะ

หากคุณมีปัญหาเกี่ยวกับความจำประเภทนี้ฉันขอแนะนำให้เรียนรู้เทคนิคการทำสมาธิและเทคนิคความจำเมื่อยิ่งหน่วยความจำของคุณง่ายขึ้นความสำเร็จที่คุณจะมีมากขึ้นในฐานะโปรแกรมเมอร์


1
ฉันจะบอกว่าความต้องการหน่วยความจำจะถูกลดลงถ้าคุณดีกว่าทำให้เป็นโมดูลโปรแกรมและชื่อสิ่งที่ถูกต้อง หากคุณมีวิธีสองหน้าพร้อมตัวแปร 20 ตัวคุณต้องจำมากกว่านั้นถ้าคุณมีวิธี 5 บรรทัดที่มีการเรียกไปยังเมธอดอื่นที่มีชื่อดีเพื่อทำงานย่อย ทุกครั้งที่คุณต้องการแก้ไขสิ่งที่ซับซ้อนคุณต้องเข้าไปที่ "the zone" เพื่อทำมัน โดยที่ถ้ามันง่ายกว่าคุณก็สามารถทำการเปลี่ยนแปลงได้ ฉันจะบอกว่า "โซน" เป็นหนี้สิน
Cervo

1
@Cervo - ใช่เมื่อคุณเขียนโค้ดแต่ละโมดูลและโค้ดขนาดเล็กสิ่งที่ฉันอธิบายข้างต้นไม่จำเป็นจริงๆ แต่เมื่อคุณทำการดีบั๊กระบบทั้งหมดและพยายามค้นหาโมดูลที่ดีเรียบร้อยและสะอาดปัญหาที่อยู่ในนั้นจะช่วยให้สามารถจดจำสถานะได้มากที่สุด
unpythonic

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

5

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

  • คุณควรจะจำได้ว่าสะกดคำอย่างไร (ซึ่งคุณเคยใช้ 3 บรรทัดมาก่อน) สะกดอย่างไร หากคุณไม่สามารถเรียนรู้การใช้ Intellisense (หรือรูปแบบของการเติมข้อความอัตโนมัติของคุณจะอยู่ในเครื่องมือแก้ไขหรือ IDE)

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

  • การดีบักและควบคุมคุณภาพทำได้ยาก เป็นการดีที่คุณควรเก็บสมุดบันทึกรายละเอียดเกี่ยวกับขั้นตอนที่คุณทำเมื่อพยายามทำซ้ำข้อบกพร่องหรือแก้ไขข้อบกพร่องบางอย่าง นี่คือสิ่งที่ฉันรู้ว่าฉันควรทำ แต่ยังคงต่อสู้กับ

หวังว่านี่จะช่วยได้!


4

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

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


2

ฉันเชื่อว่าการจดจำชื่อเป็นฟังก์ชั่นการรับรู้ที่แตกต่างจากกระบวนการจดจำซึ่งแตกต่างจากการจำคำศัพท์ มีกรณีของคนที่ได้รับบาดเจ็บที่สมองที่เอาความสามารถในการจดจำชื่อในขณะที่สามารถทำงานได้ดีอย่างสมบูรณ์เป็นอย่างอื่น

ดังนั้นฉันจะบอกว่าความสามารถในการจดจำชื่อในการไม่เกี่ยวข้องกับการเรียนรู้ภาษาโปรแกรม

อย่างไรก็ตามการใช้รูปแบบกฎและคำศัพท์ที่เป็นประโยชน์จะช่วยได้มาก


2
ฉันค่อนข้างแน่ใจว่าคุณพูดถูก ตัวบ่งชี้ชนิดของ Myers-Briggs บอกว่า INTPs (ซึ่งเหมาะกับการเป็นโปรแกรมเมอร์) มีปัญหาในการจดจำชื่อของผู้คน ฉันรู้ว่าจริงในกรณีของฉัน ฉันจำชื่อสัตว์เลี้ยงของคุณแผ่นป้ายทะเบียนรถของคุณและที่ที่ฉันพิมพ์งานซ้อนทับที่คุณให้กับฉันเมื่อปีที่แล้วซึ่งมีการขึ้นบรรทัดใหม่แปลกเป็น 0x0D0A0D แต่ชื่อของคุณเองฉันจะลืมมัน 10 นาที (เมื่อฉันอายุน้อยกว่าฉันใช้เวลาสามปีในการรับชื่อของทุกคนในทีมฟุตบอลของฉัน)
Mike Sherrill 'Cat Recall'

2

ไม่ความลึกของหน่วยความจำของเครื่องมือ (Intellisense, Google, คอมไพเลอร์, ตัวสร้างโค้ด) นั้นไม่มีที่สิ้นสุดเมื่อเปรียบเทียบกับหน่วยความจำของมนุษย์ ดังนั้นโปรแกรมเมอร์ที่มีหน่วยความจำดีจะไม่ดีไปกว่าหนึ่งรูที่หัว

สิ่งที่โปรแกรมเมอร์ต้องการคือ "ความเร็วสูงสุดของการโฟกัส" เมื่อสลับไปมาระหว่างระดับของนามธรรม ยิ่งคุณทำได้เร็วเท่าไหร่คุณก็ยิ่งเก่งในฐานะโปรแกรมเมอร์มากเท่านั้น บางคนมีความเร็วการเต้นของหัวใจเช่น 500 มิลลิวินาทีด้วยการมาถึงของคลื่นลูกแรกไปยังสมองที่คุณมุ่งเน้น บางคนมีนาฬิกามุ่งเน้นไปที่วงจรการสูบบุหรี่ประมาณ 2 ชั่วโมง บางคนต้องการอาบน้ำตอนเช้าดังนั้นประมาณ 24 ชั่วโมง เป็นต้นความแตกต่างระหว่างโปรแกรมเมอร์ดีกับไม่ดีเคยประกาศเมื่อ 1:80 เท่าเมื่อหลายปีก่อนและช่องว่างก็เพิ่มขึ้นเรื่อย ๆ


1

ไม่คุณต้องเข้าใจว่า Google ทำงานอย่างไรเพื่อให้ได้สิ่งที่คุณต้องการ

ฉันมีความทรงจำที่น่ากลัว แต่ทักษะ Googling ของฉันยอดเยี่ยมมาก ^ _ ^

ในทุกกรณีตราบใดที่คุณรู้ว่าจะหาไวยากรณ์ได้ที่ไหนคุณไม่จำเป็นต้องจำมัน นั่นคือสิ่งที่ Intellisense ไฟล์ช่วยเหลือคู่มืออ้างอิงอินเทอร์เน็ตเป็นต้น


1

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

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


1

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


1

ฉันยอมรับว่ามีความหลากหลายของสิ่งต่าง ๆ ที่โปรแกรมเมอร์โดยเฉลี่ยอาจรู้ว่าทำงานให้สำเร็จเพียงคิดคำศัพท์ไวยากรณ์เทคนิคต่าง ๆ ที่คุณควรควบคุมเพื่อสร้างเว็บไซต์ง่าย ๆ (ที่ส่วนหน้า: html, css, javascript (คุณอาจนับเป็นเฟรมเวิร์ก Js บางอย่างเป็น jquery), ajax, ที่ส่วนท้าย: Php หรือ ASP หรือ ASP.Net และอย่าลืมฐานข้อมูล, mySql หรือ SqlServer หรือ Oracle หรือ MongoDB เป็นต้น) มีรายการภาษามากมายกระบวนทัศน์ sintaxies รูปแบบ ฯลฯ เป็นไปไม่ได้ที่จะจำทุกสิ่งในนั้น

คิดว่าสิ่งที่ทำให้โปรแกรมเมอร์ดีคือฝึกฝนฝึกฝนด้วยอัลกอริธึมมากกว่าภาษาและในที่สุดคุณจะจดจำสิ่งที่คุณใช้บ่อยที่สุดส่วนที่เหลือมี Google = P อยู่เสมอ


1

หน่วยความจำที่ดีสามารถตัดทั้งสองวิธี

หากคุณสามารถเล่นหลายสิบบิตของข้อมูลในหัวของคุณในครั้งเดียวคุณจะมีเวลามากขึ้นที่จะทำให้ความรู้สึกของ (และหวังว่าการเขียนใหม่) ชิ้นส่วนของรหัสดั้งเดิมที่น่ากลัวที่มีความสำคัญต่อโครงการ แต่ซับซ้อนจนทุกคนกลัว เพื่อสัมผัส

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

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

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

ในระยะสั้นหน่วยความจำมีความสำคัญน้อยกว่าความเข้าใจ


0

มันขึ้นอยู่กับ. ภายใน Java และ. NET ไลบรารีมาตรฐานอยู่ในลำดับชั้นของการจัดเรียงและมีเอกสารที่ดี ดังนั้นถ้าคุณรู้ว่าคุณกำลังติดต่อกับเครือข่ายคุณก็จะไปที่ system.net ใน C # และจากนั้นคุณสามารถเจาะลึกไปยังวัตถุ / การโทรที่คุณต้องการ ดังนั้นจากส่วนที่คุณไม่จำเป็นต้องจดจำรายละเอียดและมี

ในโปรแกรมของคุณเองมันคือทั้งหมดที่เกี่ยวกับวิธีที่คุณจัดระเบียบ / ตั้งชื่อสิ่งต่าง ๆ หากคุณใช้ชื่อเช่น $, b $, c $ ... หรือ g $ จาก Basic of old แล้วขอให้โชคดี หากคุณตั้งชื่อสิ่งต่าง ๆ ในแบบที่คุณจะนึกถึงเช่น FirstName, LastName มันง่ายกว่ามาก หลายภาษามีมาตรฐานการตั้งชื่อซึ่งช่วยได้เช่นกัน ใน Java เช่นมีการประชุมของ setX, getX สำหรับการรับ / การตั้งค่าคุณลักษณะเฉพาะของชั้นเรียนเช่นเดียวกับการประชุมใหญ่ ดังนั้นถ้าคุณรู้ว่าคนมีชื่อมันก็อาจจะเรียกว่า firstName และ getter / setter น่าจะเป็น getFirstName และ setFirstName ..... ดังนั้นการประชุมเหล่านั้นช่วยได้มาก ...

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


ฉันไม่ทราบว่า Intellisense ที่ JB King พูดถึง แต่สำหรับ C # มันช่วยได้เช่นกัน ฉันมักจะใช้โปรแกรมแก้ไขสำหรับ Java ที่ไม่มี :( อย่างไรก็ตามส่วนที่เหลือยังคงใช้ถ้าคุณใช้วิธีที่สั้นกว่ายึดหลักการตั้งชื่อจากนั้น intellisense จะทำงานได้ดีขึ้นหากคุณมี 50 ตัวแปรในวิธีหนึ่ง Intellisense อาจยังคงอยู่ คุณค่อนข้างจะจม
Cervo

Cervo ฉันเป็นนักพัฒนา C # เป็นหลัก แต่ได้ทำ Java มากขึ้นเมื่อเร็ว ๆ นี้ ลองใช้แนวคิด IntelliJ รุ่นล่าสุดของพวกเขามีระบบ Intellisense ที่ดี ไม่ใช่ Visual Studio ที่ดี แต่อยู่ใกล้
เอเดรีย

0

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

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


0

จากJoel On Softwareเกี่ยวกับประสิทธิภาพของโปรแกรมเมอร์ -

ประสิทธิภาพการผลิตขึ้นอยู่กับความสามารถในการเล่นกลรายละเอียดเล็กน้อยในหน่วยความจำระยะสั้นทั้งหมดในคราวเดียว

ดังนั้นหน่วยความจำระยะสั้นมีความสำคัญมากสำหรับโปรแกรมเมอร์ที่ได้รับงานที่สำคัญ
แต่ฉันไม่คิดว่าความทรงจำระยะยาวมีความสำคัญมาก


0

จากการอ่านอย่างรวดเร็วฉันไม่เห็นใครพูดถึงความทรงจำในแง่ของการเขียนโปรแกรมมากกว่างานเอกพจน์ในการเขียนโปรแกรม

หน่วยความจำมีประโยชน์สำหรับสองสิ่ง:

  1. การจดจำความหมายพื้นฐาน / ไลบรารี:

    สิ่งนี้ถูกแทนที่ได้ง่ายโดยการทำซ้ำและ Google IOW จำนวนหน่วยความจำที่คุณเกิดมาจะต้องต่ำอย่างน่าขันเพื่อที่จะไม่สามารถฟันฝ่าปัญหานี้ได้

  2. การจดจำบริบทในโปรแกรมใหญ่:

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

IOW คุณสามารถเป็นโปรแกรมเมอร์ที่มีเหตุผลได้ด้วย # 1 เพียงอย่างเดียว แต่ถ้าคุณจะเป็น Linus คนต่อไปคุณจะมีหน่วยความจำจำนวนมากอย่างน้อยก็เพียงพอที่จะครอบคลุมปัญหาที่คุณกำลังแก้ไขอยู่

จากการสังเกตของฉันฉันอาจพูดได้ว่าความทรงจำในการทำงานเกือบจะเป็นสัดส่วนโดยตรงกับคุณค่าของบุคคล

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


0

หากคุณมีปัญหาในการจดจำชื่อของคนที่คุณพบคุณก็ยังสามารถเป็นโปรแกรมเมอร์ที่ยอดเยี่ยมได้

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

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

คำแนะนำของฉันคือให้คุณลองหลักสูตรสั้น ๆ ในการเขียนโปรแกรมหรือทำ Python tutorial ให้สมบูรณ์เพื่อดูว่าคุณชอบมันมาก

ที่ควรให้ความคิดที่ดีเกี่ยวกับว่าการเขียนโปรแกรมเป็นอาชีพที่คุณอาจสนใจติดตามหรือไม่


-1

ฉันพูดว่าใช่ใช่!

ในปัจจุบันฉันกำลังเรียนรู้ JAVA & C # การทดสอบทั้งหมดเป็นหนังสือปิดดังนั้นสำหรับ JAVA จะเป็นการทดสอบหน่วยความจำทั้งหมด 100% จากแอปพลิเคชันทั้งหมดในการสอบ

ยิ่งไปกว่านั้นมันเริ่มยากขึ้นเรื่อย ๆ ฉันมาถึงจุดที่ฉันต้องเริ่มใช้เทคนิคความจำเช่นจำช่วยจำ ฯลฯ

ฉันจะบอกว่า IQ สูงมีความรู้ทั่วไปที่ดีคำศัพท์ที่ดีพหูสูตความรู้คณิตศาสตร์ที่สูงขึ้นการพิมพ์แบบสัมผัสและหน่วยความจำที่ดีล้วนเป็นทรัพย์สินสำหรับโปรแกรมเมอร์

ฉันรู้ว่าโปรแกรมเมอร์ที่ฉลาดมาก ๆ ที่ไม่สามารถแตะพิมพ์หรือทำคณิตศาสตร์ในระดับสูงได้ ฯลฯ พวกเขาทำอย่างนั้นพวกเขาสามารถทำได้ดีกว่ามาก


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