ความรับผิดชอบของโปรแกรมเมอร์โปรแกรมเมอร์ [ปิด]


40

ดังนั้นเราทุกคนเคยได้ยินThe Programmers Bill of Rightsและ XP มีแนวคิดคล้ายกัน

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

ฉันสนใจในสิ่งที่ไม่อร่อยและสิ่งที่ไม่น่าจะเกิดขึ้น นั่นคือสิ่งที่โปรแกรมเมอร์มักจะหลบหลีกและหลีกเลี่ยงมากกว่า 90% ของโปรแกรมเมอร์ที่ต้องการทำ (เช่น refactor และใช้การควบคุมซอร์ส)

ดังนั้นสิ่งที่ควรจะอยู่ในความรับผิดชอบของโปรแกรมเมอร์?


4
นอกจากนี้ฉันคิดว่ามันเหมาะกับแนวทาง 1,2,4 และ 6
สตีเฟ่น Furlani

2
ฉันคิดว่ามันเป็นคำถามสำคัญที่ถาม
HLGEM

1
การติดตามที่สำคัญอาจเป็น 'คุณจะฝึกฝนตัวเองให้เป็นโปรแกรมเมอร์ที่รับผิดชอบได้อย่างไร'
Stephen Furlani

2
คำถามนี้ดูเหมือนจะสร้างรายการเท่านั้น แม้ว่าคำตอบนั้นค่อนข้างน่าประทับใจ (และฉันขอชมเชยผู้ตอบที่ใช้เวลาและความพยายามในการโพสต์ของพวกเขา) พวกเขามีศูนย์กลางอยู่ที่ความคิดเห็น
Thomas Owens

5
@ThomasOwens ไม่เห็นด้วยอย่างยิ่งว่า "คำถามนี้ไม่เหมาะกับรูปแบบคำถาม & คำตอบของเรา" สิ่งนี้ได้สร้างคำตอบเกี่ยวกับการทดสอบของนักพัฒนาวิธีการพัฒนาความอิสระและความกังวลทางธุรกิจการประกันคุณภาพและวิศวกรรมซอฟต์แวร์จริงๆแล้วเริ่มมีความไม่แน่นอนว่าทำไมเราถึงมีเว็บไซต์นี้หากคำถามเช่นข้างต้นยังคงปิดอยู่
Joshua Drake

คำตอบ:


41
  • โปรแกรมเมอร์มีหน้าที่รับผิดชอบในการผลักดันข้อกำหนดที่ไม่ดีกลับคืนมา สิ่งนี้รวมถึงการบอกลูกค้าว่าสิ่งที่พวกเขาต้องการนั้นแพงกว่าตัวเลือกอื่นหรือมีความเสี่ยงเฉพาะ นอกจากนี้ยังรวมถึงการสื่อสารข่าวร้ายในแบบมืออาชีพ - ไม่กรีดร้องเรียกคนโง่หมายความว่าพวกเขาโง่หรือพฤติกรรมเด็ก ๆ หากเขากลับมาเขาควรมีหลายเหตุผล (มากกว่า "ฉันไม่ชอบ SQL Server และจะไม่ใช้") และแผนการอื่นที่จะนำเสนอ

  • อย่างไรก็ตามโปรแกรมเมอร์ยังมีความรับผิดชอบในการยอมรับการตัดสินใจและการใช้เครื่องมือหรือการออกแบบที่พวกเขาอาจไม่ชอบถ้าพวกเขาไม่ยอมรับการผลักกลับ หากรายงานถูกร้องขอใน SSRS การส่งรายงานใน Crystal Reports (ซึ่งลูกค้าอาจไม่มี) ไม่สามารถยอมรับได้ หากจำเป็นต้องใช้โซลูชัน. net การส่งมอบใน Haskell นั้นไม่สามารถยอมรับได้ หากไม่มีใครในทีมใช้เครื่องมือหรือภาษาที่คุณต้องการใช้มันจะไม่เป็นมืออาชีพหากผู้บริหารไม่ยอมรับว่าเป็นเครื่องมือที่ดีที่สุดสำหรับงานนั้น ๆ

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

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

  • โปรแกรมเมอร์มีหน้าที่รับผิดชอบในการปกป้องข้อมูลส่วนตัวปกป้องรหัสกรรมสิทธิ์ที่เขาเขียนให้กับ บริษัท และเพื่อปกป้องผู้ใช้จากภัยพิบัติ

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

  • โปรแกรมเมอร์มีหน้าที่ประสานงานกับผู้อื่นเพื่อให้แน่ใจว่าการเปลี่ยนแปลงของเขาจะไม่ส่งผลกระทบในทางลบต่อสิ่งที่พวกเขาทำ

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

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

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

  • โปรแกรมเมอร์มีหน้าที่แจ้งให้ฝ่ายบริหารโครงการทราบเกี่ยวกับอุปสรรคในการทำงานให้สำเร็จ พวกเขาไม่สามารถแก้ไขสิ่งที่พวกเขาไม่รู้

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

  • โปรแกรมเมอร์มีหน้าที่รับผิดชอบในการเรียนรู้โดเมนธุรกิจที่เขาสนับสนุนไม่ใช่แค่แนวคิดการเขียนโปรแกรม

  • โปรแกรมเมอร์มีหน้าที่รับผิดชอบในการรักษาทักษะของเขาให้ทันสมัย

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

  • โปรแกรมเมอร์มีหน้าที่เหมือนกันกับคนงานคนอื่น ๆ - เพื่อให้ตรงเวลาทำงานตามสัญญาชั่วโมงขอเวลาลาพักร้อนล่วงหน้ารับโทรศัพท์และอีเมลข้อความ (heck อ่านอีเมล) กรอกแบบฟอร์มที่จำเป็นสำหรับ ทรัพยากรบุคคล ฯลฯ


7
ฉันชอบข้อความแสดงข้อผิดพลาดเรื่องตลก สถานการณ์ไม่ดีพออยู่แล้วไม่จำเป็นที่จะต้องจริงจังมากกว่านั้น - อย่างน้อยก็พยายามทำให้ฉันหัวเราะขณะที่ตบฉันด้วยความผิดพลาด!
ดร. Hannibal Lecter

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

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

2
สิ่งที่เกี่ยวกับไม่มีเครื่องหมายอัศเจรีย์ในข้อความแสดงข้อผิดพลาด ... เช่น "วันที่ไม่ถูกต้อง!"
JoelFan

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

42

โปรแกรมเมอร์ทุกคนควรทำให้โค้ดอ่านได้โดยผู้อื่น


@Kevin D: นั่นเป็นความรับผิดชอบ คุณมีความรับผิดชอบในการสร้างรหัสที่มนุษย์อ่านได้
doppelgreener

1
@Axidos เป็นเพราะฉันเปลี่ยนคำตอบเมื่อฉันรู้ว่าฉันทำอะไร
dan_waterworth

ฉันจะลบความคิดเห็นดั้งเดิมของฉันเนื่องจากไม่มีความเกี่ยวข้องอีกต่อไป
Kevin D

1
"อ่าน" โดยใคร "เพื่อน" ของฉัน (เช่นคนที่มีการศึกษาและประสบการณ์คล้ายกับของฉัน)? คนที่เป็นจริงๆดีมีการศึกษาในศิลปะและวิทยาศาสตร์? หรือ Flying Code Monkey ที่ไม่มีธุรกิจใดที่มีความก้าวหน้ามากกว่า Dartmouth BASIC?
John R. Strohm

7
@John คนอื่น ๆ ในบริบทนี้หมายถึงโปรแกรมเมอร์คนอื่น ๆ ในประโยค: "ยีราฟใหญ่กว่าตัวอื่น" เราไม่ได้บังคับให้คนอื่น ๆ หมายถึงลิงที่บินได้ 'อื่น ๆ ' หมายถึง "ประเภทเดียวกันมากกว่าที่ยังไม่ได้กล่าวถึง"
dan_waterworth

22

โปรแกรมเมอร์รับผิดชอบความเป็นส่วนตัวและความปลอดภัยของข้อมูลทั้งหมดที่ผู้ใช้ให้ โดยเฉพาะรหัสผ่านหมายเลขบัตรเครดิตที่อยู่อีเมลและที่ตั้งทางกายภาพ


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

2
ฉันเดาว่าคน Facebook ไม่จำเป็นต้องใช้เท่าที่ความรับผิดชอบข้างต้นส่วนใหญ่ดำเนินไป :)
MetalMikester

4
-1 นั่นเป็นความรับผิดชอบที่มากเกินไป
Peter Turner

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

@Neal: สถาปนิกระบบเป็นเพียงโปรแกรมเมอร์คนอื่น แน่นอนว่าสำหรับโครงการขนาดใหญ่เขาอาจจะไม่ได้เขียนโปรแกรมใด ๆ เลย แต่นั่นไม่ได้หมายความว่าเขาไม่ใช่โปรแกรมเมอร์ และนั่นใช้ได้กับโครงการขนาดใหญ่เท่านั้น ในโครงการ 2 หรือ 3-man โปรแกรมเมอร์มักจะรับผิดชอบบางส่วนของฐานข้อมูลหรือสิ่งทั้งปวง มันเป็นความรับผิดชอบของเขาเพื่อให้แน่ใจว่าข้อมูลถูกบันทึกอย่างปลอดภัย
กำหนดค่า

20

อย่าทำให้ผู้ใช้สูญเสียงานของพวกเขา

นี่มันฟังดูยากกว่า ... งานเป็นมากกว่า "data in a file" ... ทุกครั้งที่ผู้ใช้ใช้ซอฟต์แวร์ของคุณ

ตัวอย่างเช่นหากผู้ใช้กรอกฟอร์ม 30 ฟิลด์ของคุณด้วย 29 รายการที่ถูกต้องและ 1 รายการที่ไม่ถูกต้องอย่าล้างข้อมูลที่ถูกต้องทั้งหมดของเขาเพื่อร้องเรียนเกี่ยวกับแบบฟอร์มที่ไม่ถูกต้อง 1 รายการ (heck ไม่ต้องล้างสิ่งที่ไม่ถูกต้องด้วย) อาจจะยาวและต้องมีการแก้ไขเล็กน้อยหรือผู้ใช้จะไม่จำสิ่งที่เคยเป็นมาก่อนถ้าคุณล้างข้อมูล)

ตัวอย่างที่ไม่ชัดเจน แต่มีความสำคัญคือสิ่งที่ Windows และในทางปฏิบัติซอฟต์แวร์ "ตัวจัดการไฟล์" ผิดพลาด ... ถ้าฉันใช้เวลาครึ่งชั่วโมงอย่างระมัดระวัง Ctrl-Click'ing เพื่อเลือกชุดไฟล์และฉันคลิกโดยไม่ตั้งใจแทน Ctrl-Click ไม่ควรลบไฟล์ที่เลือกไว้ก่อนหน้านี้ทั้งหมดทำให้ฉันเริ่มใหม่ได้

อีกอันหนึ่งที่พวกเขาทำผิด ... ถ้าฉันกด Ctrl-A โดยไม่ตั้งใจ (แทนที่จะเป็น Ctrl-S ติดกับประตูถัดไป) มันจะไม่หายไปแทนที่ไฟล์และวางเคอร์เซอร์ไว้ที่จุดเริ่มต้น .... ฉันเรียกค้น สถานที่ที่เหมาะสมในไฟล์ "งาน" ซึ่งโปรแกรมมี "หลงทาง"

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


5
พยายามอย่าทำแป้นพิมพ์ลัดที่ทำสิ่งต่าง ๆ ตรงข้ามกับปุ่มที่อยู่ติดกัน (CTRL-C และ CTRL-V เช่นไม่สามารถบอกคุณได้ว่ากี่ครั้งถ้าคัดลอกเมื่อฉันตั้งใจจะวางและในทางกลับกัน)
HLGEM

5
@HLGEM ขัดแย้งบุคคลที่ออกแบบสิ่งนี้อาจคิดว่าเขากำลังทำสิ่งที่เราชอบด้วยการวางไว้ข้าง ๆ กัน
JoelFan

4
และเขาไม่ได้? ฉันหมายความว่าคุณไม่มีพลังเต็มที่ของ Emacs หรืออะไรเลย แต่คุณสามารถคัดลอกและวางได้โดยไม่ต้องขยับมือเลย
compman

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

1
สำหรับตัวอย่างล่าสุด (Ctrl-A สูญเสียตำแหน่งของฉันในไฟล์) ฉันเพิ่งพบวิธีแก้ปัญหาบางส่วนที่ทำงานในหลาย ๆ โปรแกรม ... Ctrl-Z, Ctrl-Y .... ที่จะยกเลิกการแก้ไขล่าสุดของฉันไปที่ เนื้อหาไฟล์จากนั้น "ทำซ้ำ" โดยมีผลลัพธ์ว่าเนื้อหาเหมือนเดิมก่อนหน้านี้และฉันอยู่ที่สถานที่ของการแก้ไข นี่ไม่จำเป็นต้องเหมือนกับที่เคอร์เซอร์ของฉันถูกต้องก่อนที่จะเข้าใจผิดว่า Ctrl-A แต่บ่อยครั้งที่มันใกล้พอ ... แน่นอนว่านี่ไม่ได้แก้ตัวพฤติกรรมที่ไม่ดีของโปรแกรมบน Ctrl-A ... มันเป็นวิธีแก้ปัญหาเพียงบางส่วนเท่านั้น และฉันใช้เวลาสักครู่เพื่อตี
JoelFan

15

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

ตัวอย่างเช่นโปรแกรมของเขาไม่ควร:

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

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

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

2
หากโปรแกรมนั้นทำการอัพเดทตัวเองโดยอัตโนมัติอย่างน้อยก็ควรขอความยินยอมจากผู้ใช้เป็นครั้งแรก
gablin

การละเมิดอีกครั้งโดย TortoiseSVN ... การทำอะไรก็จะทำให้ระบบหยุดชะงัก
JoelFan

@SpashHit: อืม ฉันใช้ TortoiseSVN เป็นประจำทุกวันและฉันไม่เคยสังเกตว่า ...
Mason Wheeler

8

จากรายการสำหรับช่างซอฟต์แวร์ :

ในฐานะที่เป็นช่างฝีมือซอฟต์แวร์ที่ต้องการเรากำลังยกระดับการพัฒนาซอฟต์แวร์ระดับมืออาชีพโดยการฝึกฝนและช่วยให้ผู้อื่นเรียนรู้งานฝีมือ ผ่านงานนี้เราได้เห็นคุณค่า:

  • ไม่เพียง แต่ซอฟต์แวร์ที่ใช้งานได้ แต่ยังมีซอฟต์แวร์ที่ออกแบบมาอย่างดี

  • ไม่เพียงตอบสนองต่อการเปลี่ยนแปลง แต่ยังเพิ่มมูลค่าอย่างต่อเนื่อง

  • ไม่เพียง แต่บุคคลและการมีปฏิสัมพันธ์ แต่ยังรวมถึงชุมชนของมืออาชีพ

  • ไม่เพียง แต่การทำงานร่วมกันของลูกค้า แต่ยังรวมถึงความร่วมมือที่มีประสิทธิผล

นั่นคือในการติดตามรายการทางด้านซ้ายเราได้พบรายการทางด้านขวาที่ขาดไม่ได้


8

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

  1. ไม่ได้เรียนรู้อะไรใหม่
  2. ไม่พยายามขยายทักษะของคุณ
  3. ไม่เปิดรับสิ่งใหม่ ๆ ติดกับนิสัยเก่า
  4. ไม่สนใจคุณภาพงานของคุณ
  5. ไม่พยายามปรับปรุงคุณภาพงานของคุณ
  6. เป็นคนทำงาน 9 ถึง 5 ที่ไม่มีความหลงใหล
  7. ไม่มีความเห็นของตัวเองในสิ่งต่าง ๆ
  8. ยอมรับความคิดเห็นของผู้อื่นโดยไม่ตั้งคำถาม
  9. เชื่อว่าคุณได้เรียนรู้ทุกอย่างแล้ว
  10. ไม่ยอมรับการวิจารณ์ใด ๆ
  11. ไม่ฟังอินพุตภายนอก
  12. เป็นคนที่มีอัตตาเป็นศูนย์กลางรู้จักบุคคลทุกคน
  13. มีบุคลิกภาพเชิงลบและวิจารณ์คนอื่น

+1 แต่การใช้ถ้อยคำในลักษณะนี้ทำให้เป็นลบ
dan_waterworth

1
ฉันพบว่ามันน่าขันที่ # 13 เนื่องจากนั่นคือสิ่งที่คุณกำลังทำอยู่ที่นี่แม้ว่าโดยทั่วไปแล้ว
ดัสติน Rasener

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

บางส่วนนั้นนำไปใช้กับความรับผิดชอบของ"A Programming Company "


4
  • โปรแกรมเมอร์ควรรู้และใช้ไลบรารีหลักและแพลตฟอร์มที่ใช้

พิเศษเมื่อโปรแกรมเมอร์มาจากแพลตฟอร์ม / ภาษาอื่น ๆ เป็นเรื่องยากที่จะหาโปรแกรมเมอร์ที่ดิ้นรนเพื่ออะไรบางอย่างที่ห้องสมุดหลักจัดหาหรือใช้ประโยชน์จากแพลตฟอร์มที่ไม่เหมาะสมเนื่องจากไม่รู้

  • โปรแกรมเมอร์ควรสร้างรหัสเอกสารด้วยตนเอง

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

ตัวอย่างเช่นการเปรียบเทียบ:

// validates if is leap year
if(  year % 4 == 0 && (year % 100 != 0 || year % 400 == 0) ) { 
     doSomethingWithFebruary();
}

ไปยัง

if( isLeapYear( year ) ) { 
    doSomethingWithFebruary();
}

4

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

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


2

1) อธิบายอย่างชัดเจนว่าการแก้ปัญหาใด ๆ จะทำให้เกิดการแลกเปลี่ยนระหว่างประสิทธิภาพต้นทุนเวลาและคุณภาพ

2) กรอกเอกสารที่เกี่ยวข้องไม่ว่าจะเป็นบันทึกหรือแผนทดสอบ (เอกสารจะแตกต่างกันไปตามประเภทและขนาดของ บริษัท )

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

... คนอื่นไม่ต้องสงสัยเลยที่จะติดตาม


2

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


1

โปรแกรมเมอร์มีหน้าที่รับผิดชอบในการแปลงเรื่องราวของผู้ใช้ใน backlog ของผลิตภัณฑ์เป็นการเพิ่มขึ้นของซอฟต์แวร์ที่ใช้งานได้และ shippable

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


1

นี่คือข้อเสนอของฉัน

  1. โปรแกรมเมอร์ควรกำหนดเงื่อนไขการทำงานที่เปิดเผยใน Bill of Right ของโปรแกรมเมอร์เพื่อไม่ให้ต่ำกว่ามาตรฐานสำหรับตำแหน่ง

(สำหรับ "โปรแกรมเมอร์" ฉันหมายถึง "โปรแกรมเมอร์" ไม่ใช่ "แฮ็กเกอร์วันหยุดสุดสัปดาห์" ดังนั้นมาตรฐานทั้งหมดที่โปรแกรมเมอร์ควรทำนั้นมีความหมายโดยนัย)


-1 ฉันไม่คิดว่าความรับผิดชอบสามารถเป็นสิ่งที่ "ต้องการ [s]" ถูกต้อง
Craige

1

5 ศีลของสมาคมของโปรแกรมเมอร์

1. ) ตรวจสอบรหัสของเขา / เธอทุกสัปดาห์และในวันหยุด

2. ) จัดหาความต้องการของชุมชนการเขียนโปรแกรม

3. ) อ่านหนังสือการเขียนโปรแกรมอย่างน้อยหนึ่งเล่มต่อปี

4. ) ไปที่การประชุมการเขียนโปรแกรมอย่างน้อยหนึ่งครั้งต่อปี

5. ) เป็นเจ้าของข้อผิดพลาดของคุณ


"เช็ครหัสของเขา / เธอทุกสัปดาห์และวันหยุด"? คุณหมายถึงทุกชั่วโมงใช่มั้ย
กำหนดค่า

@ ผู้สร้างฉันหมายถึงสิ่งเหล่านี้เป็นขั้นต่ำที่เปลือยเปล่าที่จะเรียกตัวคุณเองว่าโปรแกรมเมอร์ แต่ยิ่งเช็คอิน merrier มากขึ้น
Peter Turner


0

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

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