คุณเคยสงสัยหรือไม่ว่าทำไมคนฉลาด ๆ อย่างนักพัฒนาซอฟต์แวร์จึงมักจะยุ่ง มีคนที่ทำ ในโพสต์นี้เราตรวจสอบ กฎหมายที่ไม่เป็นลายลักษณ์อักษรบางฉบับที่อธิบายพฤติกรรมของมืออาชีพ ของการคำนวณ
คอมพิวเตอร์เครื่องแรกของฉันคือคอมโมดอร์ 64 แรมเกือบ 30 กิโลไบต์เป็นของระบบเหลือ 32 กิโลไบต์สำหรับการประมวลผลคำการเล่นเกมการบัญชีธุรกิจของครอบครัวและทุกอย่างที่ฉันทำกับคอมพิวเตอร์ขนาด 6 กิกะไบต์ที่ฉันเป็นเจ้าของตอนนี้ นั่นทำให้คำถามเปิดอยู่ อุปกรณ์ในปัจจุบันตอบสนองต่อความต้องการของซอฟต์แวร์หรือไม่หรือซอฟต์แวร์ใช้ทรัพยากรฮาร์ดแวร์มากขึ้นเนื่องจากมีให้ใช้งาน
ในความเป็นธรรมเกมไม่เหมือนกันกราฟิกไม่ได้คุณภาพเท่ากันและคงเป็นไปไม่ได้ที่จะดูหนังและฟังเพลง อย่างไรก็ตามก็อดคิดไม่ได้ว่า มีโปรแกรมที่เผยแพร่เวอร์ชันและใช้ทรัพยากรมากขึ้นเรื่อย ๆ โดยไม่ต้องมีส่วนร่วมอะไรใหม่เลย
นี่คือสาเหตุ
กฎหมายของ Zawinsky
Jamie Zawinsky ผู้พัฒนา Netscape แย้งว่า ทุกโปรแกรมจะรวมเอาคุณสมบัติต่างๆเข้าไว้ด้วยกันจนกว่าจะสามารถอ่านอีเมลได้ ถ้าเขาทำไม่สำเร็จเขาจะถูกแทนที่ด้วยคนอื่นที่สามารถทำเช่นนั้นได้
เมื่อเขาพูดเรื่องตลกก็คือเขาอ้างถึงโปรแกรมที่ไม่ได้มีไว้เพื่อใช้เป็นโปรแกรมรับส่งเมล มันหยุดตลกเมื่อพบว่าแอปจำนวนมากใน Google Play ขออนุญาตเข้าถึงส่วนประกอบโทรศัพท์และข้อมูลผู้ใช้ที่พวกเขาไม่จำเป็นต้องทำงาน
บางคนตีความว่านี่เป็นส่วนหนึ่งของความพยายามสอดแนมผู้ใช้ แต่คงเป็นธรรมชาติของมนุษย์ที่จะทำอะไรบางอย่างเพียงเพราะทำได้
หลักการของ Peter ใช้กับซอฟต์แวร์
ลอว์เรนซ์ปีเตอร์มีชื่อเสียงในเรื่องการระบุว่าในลำดับชั้นบุคคลจะก้าวขึ้นสู่ตำแหน่งที่เขาไร้ความสามารถอย่างสิ้นเชิง แต่เขายังมีเวลาพูดบางอย่างเกี่ยวกับโครงการที่ซับซ้อน:
"โครงการที่ซับซ้อนจะซับซ้อนเกินกว่าจะเข้าใจได้แม้กระทั่งโดยนักพัฒนาซอฟต์แวร์เองก็ตาม"
หลักการของความประหลาดใจอย่างน้อย
ตีพิมพ์ใน IBM Systems Journal ในปี 1984 หลักการนี้ระบุว่า:
"หากคุณลักษณะที่ต้องการทำให้เกิดความประหลาดใจครั้งใหญ่คุณลักษณะนี้อาจต้องได้รับการออกแบบใหม่"
ในคำอื่น ๆ หากซอฟต์แวร์บางส่วนหรือทั้งหมดแตกต่างจากที่ผู้ใช้เคยชินมากการออกแบบใหม่จะดีที่สุด. ตามหลักการแล้วให้มุ่งมั่นที่จะบรรลุ การปรับปรุงที่เพิ่มขึ้นนั้นใหญ่พอที่จะสร้างความประทับใจ แต่ก็เล็กพอที่จะยังคงคุ้นเคยอยู่ สำหรับผู้ใช้
น่าเสียดายที่ Shuttleworth ไม่ได้คำนึงถึงเรื่องนี้เมื่อเปิดตัว Unity
กฎหมายกีฏวิทยาไซเบอร์เนติก
ข้อผิดพลาด (บั๊ก) แรกในประวัติศาสตร์คอมพิวเตอร์เป็นเรื่องจริง มอดบินเข้าไปในรีเลย์ตัวใดตัวหนึ่งบนคอมพิวเตอร์ MARK II ซึ่งทำให้เกิดความผิดปกติ
ต่อด้วยอุปมากฎของไซเบอร์เนติกกีฏวิทยาถือว่า จะมีอีกหนึ่งข้อผิดพลาดเสมอ
นั่นคือสิ่งที่ผู้ใช้คอมพิวเตอร์ทุกคนทราบดี ไม่ว่าระบบปฏิบัติการจะทดสอบมากแค่ไหนก็มักจะมีข้อบกพร่องที่ค้นพบเมื่อสายเกินไป
กฎของ Kernighan
Linux Adictos มีการติดตั้งปลั๊กอินเพื่อให้แน่ใจว่าผู้เขียนของเราเขียนในลักษณะที่เป็นมิตรต่อเครื่องมือค้นหา ฉันเกลียดมันตั้งแต่วันแรก ความพยายามใด ๆ ในการเขียนโดยใช้วรรณกรรมเพียงเล็กน้อยจะถูกประณามด้วยวงกลมสีแดงทันที เมื่อเวลาผ่านไปฉันก็ชินกับมันและแทบไม่ต้องแตะต้องเลย
สิ่งเดียวกันนี้เกิดขึ้นกับโปรแกรมเมอร์หลายครั้งที่พวกเขาสนใจที่จะแสดงความสามารถในการเขียนโค้ดมากกว่าการเขียนโค้ดที่เข้าใจง่ายและดูแลรักษาง่ายกว่า
ดังนั้นกฎของ Kernighan จึงถือได้ว่า:
การดีบักนั้นยากกว่าการเขียนโค้ดในตอนแรกถึงสองเท่า ดังนั้นหากคุณเขียนโค้ดอย่างชาญฉลาดที่สุดคุณก็ไม่ได้ฉลาดพอที่จะแก้ไขข้อบกพร่องได้ '
กฎ 90/90
ใครก็ตามที่เริ่มโครงการแสวงหาผลกำไรในชีวิตจริงจะรู้ดีว่าทุกโครงการจะใช้เวลานานเป็นสองเท่าและใช้งบประมาณมากกว่างบประมาณสองเท่าเพื่อให้ได้กำไรครึ่งหนึ่งของกำไรที่คาดหวัง
โลกของคอมพิวเตอร์มีรูปแบบของกฎหมายนี้ ตัวอย่างเช่นทอมคาร์กิลล์คนหนึ่งกล่าวว่า:
“ รหัส 90 เปอร์เซ็นต์แรกแสดงถึง 90 เปอร์เซ็นต์แรกของเวลาในการพัฒนา โค้ดที่เหลืออีก 10 เปอร์เซ็นต์แสดงถึงเวลาพัฒนาอีก 90 เปอร์เซ็นต์
มันไม่ชัดเจน? บางทีกฎหมายของ Hofstadter อาจช่วยได้:
"มันใช้เวลานานกว่าที่คุณคาดไว้เสมอแม้ว่าจะคำนึงถึงกฎหมายของ Hofstadter ก็ตาม"
ฉันเดาว่านักพัฒนา Ubuntu และ Fedora ต้องรู้ หรืออย่างน้อยก็จำทุก 6 เดือน.
กฎหมายของบรู๊ค
โครงการซอฟต์แวร์โอเพ่นซอร์สมักมีปัญหาสองประการ การจัดหาเงินทุนและการขาดผู้ทำงานร่วมกัน เว้นแต่ข้อที่สองจะไม่มีปัญหา ตามที่ Brook:
"การเพิ่มแรงงานให้กับโครงการซอฟต์แวร์ที่ล่าช้ากว่ากำหนดจะทำให้ล่าช้าไปกว่านี้"
เข้าใจดีว่าคุณไม่จำเป็นต้องอัปเดตตัวเข้ารหัสใหม่ จะต้องมีการจัดทำเอกสารเพิ่มเติมจะต้องใช้ระบบราชการมากขึ้นเพื่อให้ทุกคนซิงค์กันและอาจมีการต่อสู้
และแน่นอนว่าเราไม่สามารถลืมเพื่อนพาร์กินสันและคำกล่าวอ้างของเขาได้ ไม่สำคัญว่าคุณจะเริ่มต้นด้วยพื้นที่ว่างเท่าใด คุณจะต้องการมากกว่านี้เสมอ. เขาหมายถึงพื้นที่สำนักงาน แต่ก็เช่นเดียวกันกับ RAM และพื้นที่ดิสก์
ข้อความที่ยอดเยี่ยม เข้าใจปรัชญาและวรรณกรรม หนึ่งในสิ่งที่ดีที่สุดที่ฉันเคยอ่านจากเซิร์ฟเวอร์ Linux ฉันขอแสดงความยินดีกับคุณ
ขอบคุณมากสำหรับความคิดเห็นของคุณ
เป็นเรื่องจริงมากเมื่อหลายปีก่อนฉันเป็นโปรแกรมเมอร์และมีชีวิตอยู่ในสถานการณ์เหล่านั้นมากมาย ยินดีด้วย. จากชิคาโกฉันติดตามคุณ
ขอบคุณมาก
หลักการที่ใช้กับงานเกือบทุกประเภท