เมื่อติดจะต้องใช้วิธีใดวิธีหนึ่งในการ Stack Overflow อย่างรวดเร็ว [ปิด]


51

ฉันพัฒนา iOS ด้วยตนเองผ่านหลักสูตร iTunes U CS193p และฉันมักจะพบว่าตัวเองติดอยู่ ฉันพยายามที่จะปลดออกจากตัวเอง แต่อาจต้องใช้เวลาหลายชั่วโมงในการคิดว่าฉันทำอะไรผิดพลาดไม่ว่าจะเป็นวิธีการที่หายไปหรือไม่ได้รับแนวคิดทั้งหมดเช่นการมอบหมาย

ฉันกังวลว่าฉันอาจจะเสียเวลามากเกินไปและฉันควรจะดีกว่าไปที่ Stack Overflow หลังจากฉันติดขัดเพื่อที่ฉันจะสามารถเดินหน้าต่อไปได้

จากประสบการณ์ของคุณการถาม Stack Overflow ขัดขวางกระบวนการเรียนรู้หรือปรับปรุงอย่างรวดเร็วหรือไม่


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

1
@DavidWallace ไม่สามารถเห็นด้วยเพิ่มเติม มีคนจำนวนมากที่เพิ่งถามโดยไม่คิด (คำถามคุณภาพต่ำ) บางคนคิดและถาม (คำถามที่ดีกว่า แต่ฉันต้องการให้คนอื่นค้นหาก่อนถามซ้ำ (น้อยกว่า (ใกล้)) ซ้ำกัน
Marjan Venema

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

3
แนวทางปฏิบัติ: ดังนั้นจึงเหมาะที่สุดสำหรับคำถามง่าย ๆ ดังนั้นฉันจะถามว่าเกือบจะทันที (คุณต้องสามารถกำหนดคำถามได้) หลังจากพิมพ์ชื่อเรื่องแล้วคุณจะพบกับรายการคำถามที่ใกล้เคียงที่สุด - คุณควรตรวจสอบให้แน่ใจว่าคำถามของคุณไม่อยู่ในรายการ แต่ไม่จำเป็นต้องทำการค้นหา SO เพิ่มเติมอีก
Grzenio

6
ฉันคิดว่าสิ่งนี้น่าจะถูกขอให้เรียกตัวเองใน Meta ของ SO
hugomg

คำตอบ:


35

เมื่อฉันทำงานกับนักพัฒนาใหม่ฉันขอให้พวกเขามาถามคำถามหลังจากห้าหรือสิบนาทีที่พวกเขาไม่คืบหน้า

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

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

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

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


17
ไม่มีอะไรที่เหมือนกับการพูดคุยกับสุนัขของคุณเพื่อที่จะรับความลำบากใจ :-)
Marjan Venema

2
และเมื่อคุณตระหนักถึงสิ่งที่คุณทำผิดสุนัขของคุณจะเป็นเหมือน " ว้าว!ฉันไม่เคยคิดเลย!" เอาชนะแรงผลักดันบางอย่างสำหรับการเพิ่มอัตตา ;-)
CVn

4
+1 สิ่งนี้เรียกว่า "การแก้จุดบกพร่องเป็ด" จากการพูดคุยกับของเล่นของคุณที่รัก ฉันมีตุ๊กตาวูดู ฉันเรียกมันว่าการแก้ไขข้อบกพร่องของวูดู
Sardathrion

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

2
และคำถามมากมายของฉันตอบตัวเองเมื่อฉันร่างคำถามใน SO การทำกรอบรายละเอียดคำถามของคุณเผยให้เห็นคำตอบบางอย่าง
aldrin

22

นอกจากนี้สำหรับคำตอบที่ดีของคนอื่นเท่านั้น:

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

ดังนั้นฉันจะบอกว่าไปข้างหน้าและถาม (หลังจากการค้นหาแน่นอน) เพียงแค่ไม่ได้ติดอยู่กับการกดปุ่ม "ส่ง"


+1 - ไม่สามารถพูดเกินจริงได้ นี่เป็นอีกเหตุผลที่ทำไมการตั้งคำถามอย่างรอบคอบจึงมีความสำคัญ (และอัลกอริทึมการตอบรับอัตโนมัติในแถบด้านข้างจะแสดงคำถามที่เกี่ยวข้องอื่น ๆ อย่างแม่นยำยิ่งขึ้น)
kmote

@kmote - รักสิ่งนั้น มันแก้ไขปัญหามากมายสำหรับฉัน
Dan Ray

1
เรื่องราวชีวิตของฉัน.. แก้ปัญหามากมายก่อนที่จะกดปุ่มส่ง
Ayush Goyal

20

Stack Overflow และทุกไซต์อื่น ๆ ของ Exchange Exchange มีชุดแนวทางสำหรับการถามคำถาม :

  • ทำการบ้านของคุณ
  • เฉพาะเจาะจง
  • ทำให้เกี่ยวข้องกับผู้อื่น
  • เป็นหัวข้อ
  • เปิดใจให้กว้าง

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

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


1
ฉันเพิ่งเริ่มใช้เว็บไซต์ตระกูลนี้ (StackOverflow และอื่น ๆ ) ในช่วงสองสามเดือนที่ผ่านมาและฉันต้องบอกว่าฉันประทับใจอย่างยิ่งกับสิ่งหนึ่ง: การสะกดและการเขียนที่สอดคล้องกัน แม้ว่าสมาชิกที่ลงทะเบียนเพียงเล็กน้อยจะมีภาษาอังกฤษเป็นภาษาแม่ แต่ทุกคนก็ระมัดระวังเป็นอย่างมากเกี่ยวกับวิธีการเขียน ฉันคิดว่าไม่มีที่อื่นบนอินเทอร์เน็ตที่ฐานผู้ใช้ขนาดใหญ่รักษาคุณภาพไว้ได้ มันแปลก แต่น่าประทับใจ PS: ฉันต้องการที่จะพูดแบบนี้ในบางเวลาเพียงต้องการสถานที่ที่จะทำให้มัน ontopic อย่างใด :)
Radu Murzea

1
@SoboLAN มันเป็นปรัชญาของวิกิ เราแก้ไขโพสต์ของกันและกันอย่างต่อเนื่องแม้สำหรับการสะกดผิดเล็กน้อย ในฐานะที่เป็นเจ้าของภาษาที่ไม่ใช่เจ้าของภาษาเมื่อฉันเข้าร่วม Stack Exchange เป็นครั้งแรกฉันมีนิสัยชอบสังเกตสิ่งที่คนอื่นทำแก้ไขโดยเรียนรู้จากความผิดพลาดของคนอื่น อีกหนึ่งผลพลอยได้เชิงบวกจากประสบการณ์การแลกเปลี่ยนกองซ้อนฉันเดา ใครจะรู้ว่าในบางจุดผมยังอาจได้รับความมั่นใจมากพอกับภาษาอังกฤษของฉันที่จะลองคำตอบในการใช้ภาษาอังกฤษและการใช้กองแลกเปลี่ยน : P
yannis

3

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

จากนั้นมีคำถามว่าจะถามได้เร็วแค่ไหนฉันจะบอกว่าการใช้เวลาสองสามชั่วโมงกับปัญหาเฉพาะเรื่องนั้นไม่นาน (โปรดทราบว่าฉันมาจากภูมิหลังทางวิชาการ

และเมื่อคุณถามคำถามเกี่ยวกับ SO ให้ลงทุนเวลากับคำถาม:

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

เหล่านี้เป็นเพียงไม่กี่คะแนน โดยการลงทุนเวลาเป็นคำถามที่คุณเคารพคนใน SO คุณใช้เวลาของพวกเขาได้ฟรี ที่สำคัญคุณวางโครงสร้างปัญหาของคุณ นี่อาจแก้ปัญหาของคุณได้แล้ว :)

เพียง 2 กะรัตของฉัน ...


1

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

แต่มันไม่ได้ถามคำถาม

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

หากคุณค้นหาด้วยคำ / คำที่แตกต่างกันสองสามคำและยังคงได้รับ nilch และคุณทำการบ้านและมีตัวอย่างโค้ดคุณสามารถอวดได้และคุณมั่นใจว่าคำถามของคุณไม่ซ้ำกันจริง ๆแล้วโดยทั้งหมดถาม คำถามของคุณใน Stack Overflow นั่นคือสิ่งที่เว็บไซต์มีอยู่สำหรับการตรวจสอบครั้งล่าสุดของฉัน


1

มันเป็นอัตวิสัยทั้งหมด แต่นี่เป็นกฎพื้นฐานสำหรับการใช้งานของฉัน

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

2) นี่เป็นสิ่งที่ฉันสามารถค้นคว้าได้หรือไม่? หากเป็นสิ่งที่ฉันมีเวลาและสามารถค้นคว้าได้ฉันจะลงไปตามเส้นทางนั้นและนั่นรวมถึง SO เพื่อเป็นแหล่งข้อมูลฟรี ดังนั้นดีมากเช่นเดียวกับ Wiki ดังนั้นทรัพยากรอื่น ๆ อีกมากมาย
อ่านล็อตมันช่วยให้คุณเข้าใจเมื่อมีวิธีการที่แตกต่างกันไปในการแก้ไขปัญหา แต่ก่อนอื่นให้ใช้เวลาพยายามดูว่าความรู้ที่มีอยู่ของคุณสามารถนำไปใช้กับปัญหาได้หรือไม่

3) สิ่งนี้อยู่นอกความสามารถของฉัน / คลุมเครือจนอาจมีคน 100 คนที่เคยเห็นมาบ้างไหม? สิ่งนี้เกิดขึ้นและเกิดขึ้นบ่อยครั้ง โดยทั่วไปแล้วฉันจะลองวิจัยเป็นเวลาหนึ่งหรือสองชั่วโมงแล้วมุ่งหน้าไปที่นี่หรือแหล่งข้อมูลอื่น ๆ

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


0

"เร็วแค่ไหน" โดยธรรมชาติแล้วมันจะเป็นอัตนัย ทุกคนจะมีความเห็นแตกต่างกันเล็กน้อย

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

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


0

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

หากคุณทำอย่างถูกต้องคุณจะพบว่าหลายครั้งที่คุณจะแก้ปัญหาของคุณเอง

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