คำถามติดแท็ก coding

การเข้ารหัสเป็นวิธีทางเลือกเพื่ออธิบายการเขียนโปรแกรม

15
เส้นทางอาชีพสำหรับนักพัฒนาที่ไม่ชอบการจัดการคืออะไร?
หากคุณเป็นนักพัฒนาซอฟต์แวร์ (ผู้พัฒนาอาวุโสหรือหัวหน้าฝ่ายพัฒนา) และคุณต้องการใช้รหัส / การออกแบบมากกว่าการประกอบอาชีพด้านการจัดการเส้นทางอาชีพที่มีอยู่ใน บริษัท ของคุณหรือที่คุณเคยได้ยินมาคืออะไร? ไกลแค่ไหนที่คุณสามารถไป? มันเป็นไปได้ไหมที่จะทำตัวต่อไปจนกว่าคุณจะกัดฝุ่นหรือว่าไร้เดียงสาเกินไป? คนอย่าง Uncle Bob นั้นยังถือว่าเป็นนักพัฒนาเช่นที่พวกเขาอ้าง?
110 management  coding 

19
ฉันจะพัฒนาทักษะการเขียนโปรแกรมได้อย่างไร [ปิด]
นี่คือข้อมูลเล็กน้อยเกี่ยวกับฉันก่อนที่จะเริ่มด้วยคำถาม ฉันเป็นวิทยาการคอมพิวเตอร์ระดับปริญญาตรี Java เป็นภาษาการเข้ารหัสหลักของฉัน ปัญหาพื้นฐานในมหาวิทยาลัยของฉันคือมาตรฐานการสอน ไม่มีใครกังวลเกี่ยวกับการสอนความรู้การเขียนโค้ดให้นักเรียนมากกว่าแค่ความรู้เชิงทฤษฎี ผลที่ได้คือเพื่อนร่วมวิทยาลัยส่วนใหญ่ของฉันไม่เข้าใจการเขียนโปรแกรมเลย แม้ว่าฉันจะไม่สามารถออกมาจากสภาพแวดล้อมการเขียนโปรแกรมแบบดั้งเดิมซึ่ง จำกัด การเขียนโค้ดของฉันในระดับหนึ่ง มีวิธีใดบ้างที่เป็นไปได้ที่ฉันสามารถพัฒนาและขยายทักษะการเขียนโปรแกรม / การเข้ารหัสของฉัน นอกจากนี้คุณสามารถแนะนำแหล่งข้อมูลเดียวกันได้หรือไม่ แก้ไข : แหล่งข้อมูลแนะนำการพัฒนาทักษะการเขียนโปรแกรม
76 coding 

15
ฉันหยุดเขียนโค้ดเพื่อความสนุกนี่เป็นสัญญาณที่ไม่ดีหรือเปล่า [ปิด]
ในบางช่วงเวลาฉันเพิ่งหยุดเขียนโค้ดเพื่อความสนุก ฉันเคยไปทำงานทำงานที่ได้รับมอบหมายให้เสร็จจากนั้นเมื่อถึงบ้านฉันจะไปและเขียนสิ่งต่าง ๆ เพื่อความสนุกสนาน อย่างไรก็ตามตอนนี้ฉันกลับบ้านแล้วพยายามหลีกเลี่ยงคอมพิวเตอร์ ฉันอยากอ่านหนังสือพิมพ์ดูทีวีออกไปที่บาร์ ฯลฯ นี่เป็นสัญญาณที่ไม่ดี? ฉันหมายถึงฉันยังคงพยายามติดตามแนวโน้มล่าสุดฟอรั่ม / บล็อก / อื่น ๆ ของนักพัฒนา แต่ฉันไม่ได้พูดว่า "ฉันต้องการเรียนรู้ภาษา X - ฉันสงสัยว่าฉันสามารถเขียนแอป Y ในนั้นได้หรือไม่" เรื่องนี้เกิดขึ้นกับคนอื่นหรือไม่?
71 coding 

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

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

16
ตรรกะเท่าไหร่ใน Getters
เพื่อนร่วมงานของฉันบอกฉันว่าควรมีตรรกะน้อยที่สุดเท่าที่จะเป็นไปได้ในผู้ได้รับและผู้ตั้งค่า กระนั้นฉันก็มั่นใจว่ามีหลายสิ่งที่สามารถซ่อนอยู่ในตัวเชื่อมต่อและตัวตั้งเพื่อปกป้องผู้ใช้ / โปรแกรมเมอร์จากรายละเอียดการใช้งาน ตัวอย่างของสิ่งที่ฉันทำ: public List<Stuff> getStuff() { if (stuff == null || cacheInvalid()) { stuff = getStuffFromDatabase(); } return stuff; } ตัวอย่างของการทำงานให้ฉันทำสิ่งต่าง ๆ (พวกเขาอ้างว่า 'รหัสสะอาด' จากลุงบ๊อบ): public List<Stuff> getStuff() { return stuff; } public void loadStuff() { stuff = getStuffFromDatabase(); } ตรรกะมีความเหมาะสมใน setter / getter หรือไม่ การใช้ getters …
46 coding 

8
การบำรุงรักษารหัส: การรักษารูปแบบที่ไม่ดีเมื่อขยายรหัสใหม่เพื่อให้สอดคล้องกันหรือไม่?
ฉันต้องขยายโมดูลที่มีอยู่ของโครงการ ฉันไม่ชอบวิธีที่เคยทำ (มีรูปแบบการต่อต้านจำนวนมากที่เกี่ยวข้องเช่นคัดลอก / วางโค้ด) ฉันไม่ต้องการดำเนินการ refactor แบบสมบูรณ์ด้วยเหตุผลหลายประการ ฉันควร: สร้างวิธีการใหม่โดยใช้การประชุมที่มีอยู่แม้ว่าฉันจะรู้สึกผิดเพื่อหลีกเลี่ยงความสับสนสำหรับผู้ดูแลต่อไปและสอดคล้องกับรหัสฐานหรือไม่ หรือ ลองใช้สิ่งที่ฉันรู้สึกดีขึ้นแม้ว่าจะมีการแนะนำรูปแบบอื่นในรหัสหรือไม่ Precison แก้ไขหลังจากคำตอบแรก: รหัสที่มีอยู่ไม่เป็นระเบียบ มันง่ายที่จะติดตามและทำความเข้าใจ แต่มันก็แนะนำรหัสสำเร็จรูปจำนวนมากที่สามารถหลีกเลี่ยงได้ด้วยการออกแบบที่ดี (รหัสผลลัพธ์อาจกลายเป็นเรื่องยากที่จะปฏิบัติตามแล้ว) ในกรณีปัจจุบันของฉันมันเป็นโมดูล DAO เก่าแก่ของ JDBC (บอร์ดเทมเพลตสปริง) แต่ฉันได้พบปัญหานี้แล้วและฉันกำลังมองหาความคิดเห็น dev อื่น ๆ ฉันไม่ต้องการ refactor เพราะฉันไม่มีเวลา และถึงเวลาจะยากที่จะพิสูจน์ว่าโมดูลที่ทำงานได้อย่างสมบูรณ์แบบนั้นต้องการการปรับโครงสร้างใหม่ ต้นทุนการปรับโครงสร้างจะหนักกว่าประโยชน์ของมัน จำเอาไว้: รหัสไม่ยุ่งหรือซับซ้อนเกิน ฉันไม่สามารถแยกวิธีการไม่กี่ที่นั่นและแนะนำคลาสนามธรรมที่นี่ มันเป็นข้อบกพร่องในการออกแบบมากขึ้น (เพราะ 'Keep It Stupid Simple' สุดขีดฉันคิดว่า) ดังนั้นคำถามที่สามารถถามได้เช่น: คุณในฐานะนักพัฒนาคุณต้องการที่จะรักษาโค้ดที่น่าเบื่องี่เง่าที่ง่ายหรือจะมีผู้ช่วยบางคนที่จะทำโค้ดที่น่าเบื่อแบบโง่ในที่ของคุณหรือไม่? ข้อเสียของความเป็นไปได้ครั้งสุดท้ายที่คุณจะต้องเรียนรู้บางสิ่งและบางทีคุณอาจจะต้องรักษารหัสที่น่าเบื่ออย่างง่าย ๆ ไว้เช่นกันจนกว่าจะทำการรีแฟคเตอร์เสร็จสมบูรณ์)

18
อะไรจะดีไปกว่าการเข้ารหัส - เดสก์ท็อปหรือแล็ปท็อป? [ปิด]
การใช้เดสก์ท็อปลดลงทุกวันในชีวิตประจำวัน แต่เพื่อวัตถุประสงค์ในการเขียนรหัสมีเหตุผลอะไรบ้างที่จะใช้เดสก์ท็อปผ่านแล็ปท็อป?

10
บริษัท ของคุณมีมาตรฐานการเข้ารหัสหรือไม่? [ปิด]
ฉันเพิ่งเห็นว่า Microsoft เปิดตัวเอกสารมาตรฐานการเข้ารหัส ( All-In-One Code Framework มาตรฐานการเข้ารหัส ) และทำให้ฉันคิดว่า ... บริษัท ที่ฉันทำงานให้ไม่มีมาตรฐานการเข้ารหัสที่เป็นทางการเลย มีนักพัฒนาเพียงไม่กี่คนและเราอยู่ด้วยกันนานพอที่จะพัฒนาเป็นสไตล์ที่คล้ายคลึงกันและไม่เคยมีปัญหามาก่อน บริษัท ที่คุณทำงานมีมาตรฐานการเข้ารหัสที่เป็นเอกสารหรือไม่ ถ้าไม่ทำไมล่ะ การมีมาตรฐานสร้างความแตกต่างหรือไม่? คุ้มค่าที่จะเขียนมาตรฐานตั้งแต่เริ่มต้นหรือคุณควรใช้มาตรฐานอื่นเป็นของคุณเอง (เช่นทำให้มาตรฐานของ Microsoft เป็นของคุณ)

13
เป็น IDE ขึ้นอยู่กับ มันจะทำร้ายฉันได้อย่างไร
ฉันเป็นนักพัฒนาที่ขึ้นกับ IDE (NetBeans และ Eclipse เพราะฉันเป็น JAVA dev) ฉันสามารถรหัสได้อย่างถูกต้องถ้าฉันมี IDE ฉันสามารถพึ่งพาได้มากสำหรับการพัฒนาการดีบักและการปรับใช้ แต่ถ้าไม่มี IDE ฉันจะไม่ทำอะไรเลย สามารถเขียนรหัสโปรแกรม Hello World อย่างง่ายหรือการจัดเรียง UI แบบง่าย ๆ แต่ฉันต้องการ IDE เพื่อทำสิ่งที่ซับซ้อนหรือการเข้ารหัสสิ่งที่ง่ายกว่า คุณคิดว่ามันเป็นอันตรายต่อฉันหรือไม่? โปรแกรมเมอร์บางคนที่มีประสบการณ์การพัฒนามากกว่า 6 ปีเชื่ออย่างยิ่งว่าอาจเป็นอันตรายได้ แต่ฉันคิดว่าถ้าฉันสามารถทำสิ่งที่ซับซ้อนได้อย่างรวดเร็วและถูกต้องทำไมฉันควรติดแผ่นจดบันทึกและเครื่องมือบรรทัดคำสั่งเพื่อทำงานที่ต้องใช้เวลา IDE มีปุ่มคลิกเพื่อทำสิ่งนี้?
27 ide  coding 

12
อารมณ์ที่แนบมากับรหัส [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ในฐานะพนักงานของ บริษัท เมื่อคุณเขียนโค้ดคุณรู้สึกว่าคุณมีไฟล์แนบหรือไม่ คุณรู้สึกว่าคุณเป็นเจ้าของรหัสหรือไม่ หรือคุณเขียนมันแยกออกจากมันโดยไม่ต้องกังวลว่าจะเกิดอะไรขึ้นกับมันหลังจากที่คุณย้ายไปทำอย่างอื่นหรือไม่? แก้ไข: ฉันไม่ได้พูดเกี่ยวกับการเขียนรหัสที่ไม่ดีและจากนั้นทำงาน ...

5
วิธีการเลือกระหว่างบอกไม่ถามและแยกคำสั่ง?
หลักการบอกว่าอย่าถามว่า: คุณควรพยายามบอกสิ่งที่คุณต้องการให้พวกเขาทำ อย่าถามพวกเขาเกี่ยวกับสถานะของพวกเขาตัดสินใจแล้วบอกพวกเขาว่าจะทำอย่างไร ปัญหาคือในฐานะผู้โทรคุณไม่ควรทำการตัดสินใจตามสถานะของวัตถุที่เรียกว่าทำให้คุณเปลี่ยนสถานะของวัตถุ ตรรกะที่คุณใช้อยู่อาจเป็นความรับผิดชอบของวัตถุที่เรียกว่าไม่ใช่ของคุณ สำหรับคุณในการตัดสินใจนอกวัตถุที่ละเมิดการห่อหุ้ม ตัวอย่างง่ายๆของ "Tell, Don't Ask"คือ Widget w = ...; if (w.getParent() != null) { Panel parent = w.getParent(); parent.remove(w); } และเวอร์ชัน Tell คือ ... Widget w = ...; w.removeFromParent(); แต่ถ้าฉันต้องรู้ผลลัพธ์จากวิธี removeFromParent ปฏิกิริยาแรกของฉันคือเพียงแค่เปลี่ยน removeFromParent เพื่อส่งกลับค่าบูลีนเพื่อระบุว่าพาเรนต์ถูกลบหรือไม่ แต่ฉันเจอรูปแบบการแยกคำสั่งซึ่งบอกว่าไม่ต้องทำ มันระบุว่าทุกวิธีควรเป็นคำสั่งที่ทำการดำเนินการหรือแบบสอบถามที่ส่งคืนข้อมูลไปยังผู้โทร แต่ไม่ใช่ทั้งสองอย่าง กล่าวอีกนัยหนึ่งการถามคำถามไม่ควรเปลี่ยนคำตอบ อย่างเป็นทางการมากขึ้นวิธีการที่ควรส่งกลับค่าเฉพาะในกรณีที่พวกเขามีความโปร่งใส referential และจึงไม่มีผลข้างเคียง สองคนนี้ขัดแย้งกันจริงๆและฉันจะเลือกระหว่างคนทั้งสองได้อย่างไร ฉันจะไปกับ Pragmatic Programmer …
25 java  coding 

8
ในการกระทำของผู้ใช้วันละครั้ง: รีเซ็ต 24 ชั่วโมงเทียบกับรีเซ็ตเที่ยงคืน [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน12 เดือนที่ผ่านมา เมื่อผู้ใช้สามารถทำการกระทำได้วันละครั้งเท่านั้นเช่นรับตั๋วฟรีสำหรับการแข่งขันมีความเป็นไปได้สองอย่างที่ฉันได้พบในประสบการณ์ของฉัน 1) รีเซ็ต 24 ชั่วโมง หากเขาทำการกระทำในวันที่ 1 เมื่อเวลา 23:45 น. เขาจะสามารถดำเนินการได้อีกครั้งในวันที่ 2 ในวันที่หรือหลังเวลา 11:45 เขาจะไม่สามารถทำได้ 11:44 ในวันที่ 2 2) รีเซ็ตเที่ยงคืน (หรือเวลาใดก็ได้) ไม่ว่าผู้ใช้จะทำอะไรในวันที่ 1 เมื่อใดก็ตามที่กลายเป็นเที่ยงคืนและวันที่ 2 เริ่มต้นเขาจะสามารถดำเนินการได้อีกครั้ง ทั้งสอง จำกัด ผู้ใช้ในการดำเนินการเพียงหนึ่งการกระทำต่อวัน แต่ฉันมักจะเจอวิธีที่ 1 ซึ่งฉันคิดว่าไม่สะดวกด้วยเหตุผลสองประการ: ก่อนอื่นฉันต้องรอเวลา และครั้งที่สองในช่วงเวลานานการประทับเวลาของฉันที่ดำเนินการจะกลายเป็นในภายหลังและหลังจากนั้นเนื่องจากฉันจะไม่สามารถดำเนินการได้อย่างแน่นอน ณ เวลาประทับนั้นทุกวันเพียงไม่กี่วินาทีหรือนาทีต่อมา มีเหตุผลทางเทคนิคหรือไม่ที่ใครจะชอบวิธีที่ 1 แม้ว่าในความคิดของฉันข้อเสียที่สำคัญสำหรับผู้ใช้ที่ระบุไว้ล่วงหน้า? แก้ไขเพื่อระบุ: ฉันกำลังพูดถึงตัวอย่างโดยเฉพาะอย่างยิ่งที่ไม่จำเป็นต้องใช้เวลาว่าง 24 ชั่วโมงเช่นในการหมุนฟรีในปัจจุบันของ …

9
เป็นเรื่องปกติ / ยอมรับได้ที่จะจดบันทึกความคิดอัลกอริธึมการตัดสินใจระหว่างการเข้ารหัสและการบำรุงรักษาหรือไม่? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 ปีที่ผ่านมา บางคนมีปัญหานี้ที่พวกเขาไม่สามารถคิดได้หากไม่มีคำพูด และการจดบันทึกความคิดและการตัดสินใจเป็นวิธีที่มีประสิทธิภาพที่สุดในการดำเนินการ ดังนั้น - เป็นเรื่องปกติและเป็นที่ยอมรับหรือไม่ที่ฉันจะเขียนความคิดและการตัดสินใจลงในไฟล์ Notepad ++ บางไฟล์ระหว่างการเข้ารหัส? บางครั้งควรเป็นที่ยอมรับได้เช่นเมื่อสร้างเอกสารทางเทคนิคขึ้นใหม่หรือให้เหตุผลเกี่ยวกับอัลกอริธึมที่ซับซ้อนมากขึ้น แต่บางครั้งมันอาจแปลกเช่นเมื่อฉันกำลังพิจารณาตัวเลือกการออกแบบและพยายามตัดสิน ผลกระทบของการฝึกนี้ต่อผลผลิตไม่ชัดเจน จากด้านหนึ่ง - การใช้เหตุผลกับคำภายในอาจเร็วกว่าคำที่เขียน จากอีกด้านหนึ่ง - ปัญหาที่ซับซ้อนมากขึ้นจำเป็นต้องมีการเขียน นอกจากนี้หากใครมีตัวเลือกการออกแบบมากขึ้นความรู้สึกนั้นดีกว่าเมื่อมีการตัดสินใจเขียนดังนั้นมันจึงเพิ่มขวัญกำลังใจ

3
เหตุใดข้อผิดพลาดทั่วไปจึงเกิดขึ้นบ่อยครั้งและเราจะทำอย่างไรเพื่อป้องกันไม่ให้เกิดข้อผิดพลาด
ดูเหมือนว่าข้อผิดพลาดทั่วไปเป็นหนึ่งในข้อผิดพลาดทั่วไปของโปรแกรมมิง (ถ้าไม่ใช่มากที่สุด) (ดู/software/109/what-are-common-mistakes-in-codingและภูมิปัญญาดั้งเดิม) อะไรคือสาเหตุที่พบได้ทั่วไปมันเป็นสิ่งที่เกี่ยวข้องกับสมองของมนุษย์หรือไม่? เราจะทำอย่างไรเพื่อป้องกันไม่ให้เหยื่อตกเป็นเหยื่อของความผิดพลาดเดียว?
20 coding  bug 

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