วิศวกรรมซอฟต์แวร์

ถาม - ตอบสำหรับมืออาชีพนักวิชาการและนักเรียนที่ทำงานในวงจรการพัฒนาระบบ

2
เหตุใดสตริงที่แฮชและการเข้ารหัสจำนวนมากจึงลงท้ายด้วยเครื่องหมายเท่ากับ
ฉันทำงานใน C # และ MSSQL และตามที่คุณคาดหวังว่าฉันเก็บรหัสผ่านของฉันเค็มและแฮช เมื่อฉันดูแฮชที่เก็บไว้ในคอลัมน์ nvarchar (ตัวอย่างเช่นผู้ให้บริการสมาชิก aspnet out box) ฉันสงสัยอยู่เสมอว่าทำไมค่าของเกลือและแฮชที่สร้างขึ้นดูเหมือนจะจบลงด้วยสัญญาณหนึ่งหรือสองเท่ากับ ฉันเคยเห็นสิ่งที่คล้ายกันขณะทำงานกับอัลกอริธึมการเข้ารหัสนี่เป็นเหตุบังเอิญหรือมีเหตุผลหรือไม่

5
เหตุใดจึงไม่ดีในการอ่านข้อมูลจากฐานข้อมูล“ เป็นเจ้าของ” โดย microservice ที่แตกต่างกัน
ฉันเพิ่งอ่านบทความที่ยอดเยี่ยมนี้ในสถาปัตยกรรม microservice: http://www.infoq.com/articles/microservices-intro มันระบุว่าเมื่อคุณโหลดหน้าเว็บใน Amazon แล้วไมโครไซต์กว่า 100 รายการจะร่วมมือเพื่อให้บริการหน้านั้น บทความนั้นอธิบายว่าการสื่อสารระหว่างไมโครไซต์ทั้งหมดสามารถทำได้ผ่าน API เท่านั้น คำถามของฉันคือเหตุผลที่ไม่ดีที่จะบอกว่าการเขียนฐานข้อมูลทั้งหมดสามารถทำได้ผ่าน API เท่านั้น แต่คุณสามารถอ่านได้โดยตรงจากฐานข้อมูลของบริการไมโครต่างๆ ตัวอย่างเช่นสามารถพูดได้ว่ามีเพียงไม่กี่มุมมองฐานข้อมูลที่สามารถเข้าถึงได้นอกบริการไมโครเพื่อให้ทีมที่ดูแลบริการไมโครรู้ว่าตราบใดที่พวกเขารักษามุมมองเหล่านี้เหมือนเดิมแล้วพวกเขาสามารถเปลี่ยนโครงสร้างฐานข้อมูลของบริการไมโคร ต้องการ. ฉันทำอะไรบางอย่างหายไปหรือเปล่า มีเหตุผลอื่นอีกไหมทำไมข้อมูลควรอ่านผ่าน API เท่านั้น? บริษัท ของฉันเล็กกว่า Amazon อย่างมาก (และจะเป็นเสมอ) และจำนวนผู้ใช้สูงสุดที่เราสามารถมีได้ประมาณ 5 ล้านคน

1
ลักษณะของ Rust แตกต่างจาก Go Interfaces อย่างไร
ฉันค่อนข้างคุ้นเคยกับ Go โดยเขียนโปรแกรมขนาดเล็กจำนวนมากในนั้น แน่นอนว่าสนิมฉันไม่คุ้นเคย แต่จับตาดู เมื่อเร็ว ๆ นี้อ่านhttp://yager.io/programming/go.htmlฉันคิดว่าฉันควรตรวจสอบสองวิธีที่ Generics ได้รับการจัดการเพราะบทความดูเหมือนจะวิพากษ์วิจารณ์อย่างไม่เป็นธรรมไปเมื่อในทางปฏิบัติมีอะไรมากที่อินเตอร์เฟส ไม่สามารถทำได้อย่างสวยงาม ฉันยังคงได้ยินโฆษณาต่อไปเกี่ยวกับลักษณะของ Rust ที่ทรงพลังและไม่มีอะไรนอกจากการวิจารณ์จากคนเกี่ยวกับ Go มีประสบการณ์ใน Go ฉันสงสัยว่าความจริงมันเป็นอย่างไรและอะไรคือความแตกต่างในท้ายที่สุด สิ่งที่ฉันพบคือลักษณะและการเชื่อมต่อมีความคล้ายคลึงกัน! ท้ายที่สุดฉันไม่แน่ใจว่าฉันขาดอะไรบางอย่างดังนั้นนี่คือบทสรุปการศึกษาที่รวดเร็วเกี่ยวกับความคล้ายคลึงกันของพวกเขาเพื่อให้คุณสามารถบอกฉันว่าฉันพลาดอะไรไป! ตอนนี้ขอใช้เวลาดูไปเชื่อมต่อจากพวกเขาเอกสาร : อินเทอร์เฟซในตัวไปมีวิธีในการระบุพฤติกรรมของวัตถุ: หากมีสิ่งใดสามารถทำได้ก็สามารถใช้ที่นี่ได้ ส่วนใหญ่แล้วอินเตอร์เฟสจะStringerส่งคืนสตริงที่แสดงถึงวัตถุ type Stringer interface { String() string } ดังนั้นวัตถุใด ๆ ที่มีการString()กำหนดไว้เป็นStringerวัตถุ นี้สามารถใช้ในลายเซ็นประเภทเช่นที่func (s Stringer) print()ใช้วัตถุเกือบทั้งหมดและพิมพ์ นอกจากนี้เรายังมีinterface{}สิ่งที่ใช้วัตถุใด ๆ จากนั้นเราจะต้องกำหนดประเภทของรันไทม์ผ่านการสะท้อนกลับ ตอนนี้เรามาดูลักษณะของสนิมจากเอกสารประกอบ : ที่ง่ายที่สุดลักษณะคือชุดของลายเซ็นวิธีการศูนย์หรือมากกว่า ตัวอย่างเช่นเราสามารถประกาศลักษณะที่พิมพ์ได้สำหรับสิ่งที่สามารถพิมพ์ไปยังคอนโซลด้วยลายเซ็นวิธีการเดียว: trait Printable { fn …
64 go  rust 

3
ทำไมคลาส Java 8 java.time จึงขาดวิธี getMillis ()
Java 8 มีไลบรารีใหม่ทั้งหมดสำหรับวันที่และเวลาในแพคเกจ java.time ซึ่งเป็นสิ่งที่น่ายินดีอย่างมากสำหรับทุกคนที่ต้องใช้ JodaTime มาก่อนหรือสร้างความยุ่งยากด้วยการทำให้เป็นวิธีการประมวลผลตัวช่วยนัดเดทเอง ชั้นเรียนจำนวนมากในแพ็คเกจนี้เป็นตัวแทนของการประทับเวลาและมีวิธีการช่วยเหลือที่getHour()จะได้รับชั่วโมงจากการประทับเวลาที่getMinute()จะได้รับนาทีจากการประทับเวลาที่getNano()จะได้รับ nanos จากการประทับเวลา ฯลฯ ... ฉันสังเกตเห็นว่าพวกเขาไม่มีวิธีที่เรียกว่าgetMillis()รับมิลลิวินาทีของการประทับเวลา แต่จะต้องมีวิธีการโทรget(ChronoField.MILLI_OF_SECOND)แทน สำหรับฉันดูเหมือนว่าไม่สอดคล้องกันในห้องสมุด ไม่มีใครรู้ว่าทำไมวิธีการดังกล่าวหายไปหรือเป็น Java 8 ยังอยู่ในการพัฒนามีความเป็นไปได้ที่จะเพิ่มในภายหลัง? https://docs.oracle.com/javase/8/docs/api/java/time/package-summary.html คลาสที่กำหนดไว้ที่นี่แสดงถึงแนวคิดหลักของวันที่และเวลารวมถึงอินสแตนซ์, ระยะเวลา, วันที่, เวลา, เขตเวลาและช่วงเวลา พวกเขาใช้ระบบปฏิทิน ISO ซึ่งเป็นปฏิทินโลกตามความเป็นจริงตามกฎเกรกอเรียน ชั้นเรียนทั้งหมดไม่เปลี่ยนแปลงและปลอดภัยต่อเธรด แต่ละอินสแตนซ์เวลาของวันที่ประกอบด้วยฟิลด์ที่ APIs ให้บริการ สำหรับการเข้าถึงระดับล่างไปยังฟิลด์อ้างถึงjava.time.temporalแพคเกจ แต่ละชั้นเรียนมีการสนับสนุนสำหรับการพิมพ์และการแยกวิเคราะห์ทุกวันและเวลา อ้างถึงjava.time.formatแพ็คเกจสำหรับตัวเลือกการปรับแต่ง ... ตัวอย่างของคลาสประเภทนี้: https://docs.oracle.com/javase/8/docs/api/java/time/LocalDateTime.html วันที่และเวลาที่ไม่มีเขตเวลาในระบบปฏิทิน ISO-8601 เช่น 2007-12-03T10: 15: 30 LocalDateTimeเป็นออบเจ็กต์วันที่และเวลาที่ไม่เปลี่ยนรูปแบบซึ่งแสดงถึงวันที่และเวลาซึ่งมักถูกมองว่าเป็นปีเดือนเดือนวันชั่วโมงนาทีวินาที ฟิลด์วันที่และเวลาอื่น ๆ เช่นวันของปีวันของสัปดาห์และสัปดาห์ของปีก็สามารถเข้าถึงได้เช่นกัน เวลาแสดงด้วยความแม่นยำระดับนาโนวินาที ตัวอย่างเช่นค่า …
64 java  java8 

1
ตรวจสอบรหัส Gerrit หรือรูปแบบการแยกและดึง Github หรือไม่
ฉันเริ่มโครงการซอฟต์แวร์ที่จะพัฒนาเป็นทีมและชุมชน ก่อนหน้านี้ฉันเคยขายใน gerrit แต่ตอนนี้รูปแบบการแยกและดึงคำขอของ Github ดูเหมือนจะให้เครื่องมือเพิ่มมากขึ้นวิธีที่จะมองเห็นความมุ่งมั่นและความสะดวกในการใช้งาน สำหรับคนที่มีประสบการณ์อย่างน้อยกับทั้งคู่ข้อดี / ข้อเสียของแต่ละคนและอะไรจะดีกว่าสำหรับโครงการที่ทำงานเป็นทีมซึ่งต้องการเปิดโอกาสในการพัฒนาชุมชน
64 git  github  forking  gerrit 

6
Service layer vs DAO - ทำไมต้องทั้งคู่
ฉันทำงานกับ SpringMVC, Hibernate และฐานข้อมูลบางส่วนในตัวอย่างเว็บแอปพลิเคชัน java มีสิ่งที่แตกต่างกันสองสามอย่างที่ทำเช่นนี้ แต่บทช่วยสอนการรวมฤดูใบไม้ผลิ 3 และไฮเบอร์เนตพร้อมด้วยตัวอย่างนี้มีคลาสโมเดลมุมมอง (เป็น jsp) และคลาสเซอร์วิสและ dao สำหรับคอนโทรลเลอร์ คำถามของฉันคือไม่ทั้งบริการและชั้นเรียน DAO ทำสิ่งเดียวกันหรือไม่ ทำไมคุณต้องการทั้งสองอย่าง นี่คือการสอนที่ฉันใช้จริง: http://fruzenshtein.com/spring-mvc-security-mysql-hibernate/

7
ข้อมูลการกำหนดค่า: ตารางแถวเดียวกับตารางคู่ค่าชื่อ
สมมติว่าคุณเขียนแอปพลิเคชันที่ผู้ใช้สามารถกำหนดค่าได้ สำหรับการจัดเก็บ "ข้อมูลการกำหนดค่า" นี้ลงในฐานข้อมูลมักใช้สองรูปแบบ ตารางแถวเดียว CompanyName | StartFullScreen | RefreshSeconds | ... ---------------+-------------------+------------------+-------- ACME Inc. | true | 20 | ... ค่าชื่อคู่โต๊ะ ConfigOption | Value -----------------+------------- CompanyName | ACME Inc. StartFullScreen | true (or 1, or Y, ...) RefreshSeconds | 20 ... | ... ฉันเคยเห็นตัวเลือกทั้งสองในป่าและทั้งสองมีข้อดีและข้อเสียที่เห็นได้ชัดเช่น: ตารางแถวเดี่ยว จำกัด จำนวนตัวเลือกการกำหนดค่าที่คุณสามารถมีได้ (เนื่องจากจำนวนคอลัมน์ในแถวนั้น จำกัด …

4
เหตุผลที่จะไม่ใช้ JSF [ปิด]
ฉันใหม่กับ StackExchange แต่ฉันคิดว่าคุณจะสามารถช่วยฉันได้ เรากำลังสร้างแอปพลิเคชัน Java Enterprise ใหม่แทนที่โซลูชัน JSP ดั้งเดิม เนื่องจากมีการเปลี่ยนแปลงมากมาย UI และส่วนต่างๆของตรรกะทางธุรกิจจะได้รับการพิจารณาและนำมาใช้ใหม่อย่างสมบูรณ์ ความคิดแรกของเราคือ JSF เนื่องจากเป็นมาตรฐานใน Java EE ตอนแรกฉันมีความประทับใจที่ดี แต่ตอนนี้ฉันกำลังพยายามใช้ต้นแบบการทำงานและมีข้อกังวลอย่างจริงจังเกี่ยวกับการใช้งาน ก่อนอื่นมันสร้างการผสมผสานที่ไม่ถูกต้องที่เลวร้ายที่สุดและยุ่งเหยิงที่สุดที่ไม่เคยมีมาก่อนซึ่งฉันไม่เคยเห็นมาก่อน มันละเมิดกฎทุกข้อที่ฉันได้เรียนรู้ในการพัฒนาเว็บ นอกจากนี้มันจะรวมเข้าด้วยกันสิ่งที่ไม่ควรเชื่อมโยงกันอย่างแน่นหนา: เค้าโครงการออกแบบลอจิกและการสื่อสารกับเซิร์ฟเวอร์ ฉันไม่เห็นวิธีที่ฉันจะสามารถขยายผลลัพธ์นี้ได้อย่างสะดวกสบายไม่ว่าจะเป็นการจัดแต่งทรงผมด้วย CSS, การเพิ่มลูกกวาด UI (เช่นปุ่มลัดที่สามารถกำหนดค่าได้, วิดเจ็ตลากและวาง) หรืออะไรก็ตาม ประการที่สองมันซับซ้อนเกินไป ความซับซ้อนของมันโดดเด่น หากคุณถามฉันมันเป็นนามธรรมที่ไม่ดีของเทคโนโลยีเว็บพื้นฐานพิการและไร้ประโยชน์ในที่สุด ฉันมีประโยชน์อะไรบ้าง ไม่มีถ้าคุณคิด ส่วนประกอบหลายร้อย ฉันเห็นตัวอย่างโค้ด HTML / CSS หมื่นตัวอย่างโค้ด JavaScript นับหมื่นและปลั๊กอิน jQuery นับพัน มันแก้ปัญหาได้มากมาย - เราจะไม่มีถ้าเราไม่ใช้ JSF หรือรูปแบบตัวควบคุมด้านหน้าเลย …

11
ฉันจะโน้มน้าวหัวหน้าของฉันได้อย่างไรว่า ANSI C ไม่เพียงพอสำหรับโครงการใหม่ของเรา [ปิด]
ไม่กี่เดือนที่ผ่านมาเราเริ่มพัฒนาแอพเพื่อควบคุมอุปกรณ์ทดสอบที่พัฒนาขึ้นภายใน บริษัท และบันทึกชุดการวัด ควรมี UI อย่างง่ายและอาจต้องใช้เธรดเนื่องจากการบันทึกอย่างต่อเนื่องที่ต้องดำเนินการ แอปพลิเคชั่นนี้จะถูกใช้เป็นเวลาสองสามปีและจะได้รับการดูแลโดยนักศึกษาวิทยาศาสตร์คอมพิวเตอร์จำนวนหนึ่งในช่วงเวลานี้ เจ้านายของเราจบการศึกษาเมื่อ 30 ปีที่แล้ว (เพื่อไม่ให้ทำผิดฉันมีเวลามากกว่าครึ่งบนหลังของฉันด้วย) และได้รับคำสั่งให้เราพัฒนาแอปพลิเคชั่นนี้ใน ANSI C เหตุผลก็คือเขาเป็นคนเดียวที่ จะอยู่ตลอดเวลาและดังนั้นเขาจะต้องสามารถเข้าใจสิ่งที่เรากำลังทำอยู่ เขาตัดสินว่าเราไม่ควรใช้ประเภทข้อมูลนามธรรม เขายังให้รายชื่อเราด้วยชื่อตัวแปรทั่วโลก (ถอนหายใจ) ที่เขาต้องการให้เราใช้ ฉันลองใช้วิธีนั้นซักพัก แต่ก็ทำให้ฉันช้าลงเพื่อให้แน่ใจว่าการทำงานของตัวชี้ทั้งหมดนั้นปลอดภัยและสตริงทั้งหมดมีขนาดที่ถูกต้อง นอกจากนี้จำนวนบรรทัดของรหัสที่เกี่ยวข้องกับปัญหาที่เกิดขึ้นจริงเป็นเพียงส่วนเล็ก ๆ ของฐานรหัสของเรา หลังจากไม่กี่วันฉันก็ทิ้งทั้งสิ่งและเริ่มต้นใหม่โดยใช้ C # หัวหน้าของเราได้เห็นโปรแกรมกำลังทำงานอยู่และเขาชอบวิธีการทำงาน แต่เขาไม่รู้ว่ามันเขียนในภาษาอื่น สัปดาห์หน้าเราสองคนจะประชุมกันเพื่อดูซอร์สโค้ดเพื่อให้เขา "จะรู้วิธีรักษามัน" ฉันกลัวและฉันอยากได้ยินจากพวกคุณว่าข้อโต้แย้งใดที่ฉันสามารถใช้เพื่อสนับสนุนการตัดสินใจของฉัน คุณขี้ขลาด

5
อะไรคือความแตกต่างระหว่างการใช้อินเทอร์เฟซอย่างชัดเจนหรือโดยปริยาย?
ใน Visual Studio ฉันสามารถคลิกขวาที่อินเทอร์เฟซและเลือกที่จะใช้อินเตอร์เฟสหรือใช้อินเตอร์เฟสได้อย่างชัดเจน public class Test : ITest { public string Id // Generated by Implement Interface { get { throw new NotImplementedException(); } } string ITest.Id // Generated by Implement Interface Explicitly { get { throw new NotImplementedException(); } } } ความแตกต่างเพียงอย่างเดียวที่ฉันเห็นระหว่างสองคือชื่ออินเทอร์เฟซถูกเพิ่มเข้ากับคุณสมบัติของอินเทอร์เฟซและวิธีการเมื่อพวกเขาสร้างถ้าคุณเลือกที่จะใช้อินเทอร์เฟซอย่างชัดเจน ฉันพบว่ามันทำให้โค้ดอ่านง่ายขึ้นเล็กน้อยเนื่องจากฉันสามารถดูว่าวิธีการ / คุณสมบัตินั้นมาจากที่ใด แต่สิ่งนี้สร้างความแตกต่างในวิธีการใช้หรือการคอมไพล์ของคลาสหรือไม่? และมันจะสำคัญหรือไม่ถ้าฉันใช้อินเทอร์เฟซของฉันโดยนัยหรือชัดเจน?
64 c#  syntax 

18
วิธีการที่ยาวนานนั้นไม่ดีเสมอไปหรือไม่? [ปิด]
ดังนั้นก่อนหน้านี้ฉันสังเกตเห็นความคิดเห็นบางอย่างเกี่ยวกับวิธีการที่ยาวนานว่าเป็นการฝึกฝนที่ไม่ดี ฉันไม่แน่ใจว่าฉันเห็นด้วยเสมอว่าวิธีการที่ยาวนานนั้นไม่ดี (และต้องการความคิดเห็นจากผู้อื่น) ตัวอย่างเช่นฉันมีมุมมอง Django ที่ประมวลผลบางส่วนของวัตถุก่อนที่จะส่งไปยังมุมมองซึ่งเป็นวิธีการที่ยาวเป็นรหัส 350 บรรทัด ฉันได้เขียนโค้ดของฉันเพื่อให้เกี่ยวข้องกับพารามิเตอร์ - การเรียงลำดับ / กรองชุดสืบค้นจากนั้นการประมวลผลบางอย่างบนวัตถุที่แบบสอบถามของฉันส่งคืน ดังนั้นการประมวลผลส่วนใหญ่จะเป็นการรวมแบบมีเงื่อนไขซึ่งมีกฎที่ซับซ้อนพอที่จะไม่สามารถทำได้อย่างง่ายดายในฐานข้อมูลดังนั้นฉันจึงมีตัวแปรบางตัวที่ประกาศนอกลูปหลักจากนั้นจึงเปลี่ยนแปลงระหว่างลูป variable_1 = 0 variable_2 = 0 for object in queryset : if object.condition_condition_a and variable_2 > 0 : variable 1+= 1 ..... ... . more conditions to alter the variables return queryset, and context ตามทฤษฎีฉันควรแยกรหัสทั้งหมดออกเป็นวิธีที่เล็กลงเพื่อให้ฉันมีวิธีการดูว่ายาวที่สุดในหนึ่งหน้า อย่างไรก็ตามในอดีตเคยทำงานกับฐานรหัสหลาย …

11
ทำไมตัวบ่งชี้แบบสั้นที่เป็นความลับยังคงเป็นเรื่องปกติในการเขียนโปรแกรมระดับต่ำ
เคยมีเหตุผลที่ดีมากในการรักษาชื่อคำสั่ง / ทะเบียนย่อ เหตุผลเหล่านั้นใช้ไม่ได้อีกต่อไป แต่ชื่อรหัสลับสั้น ๆ ยังคงพบได้บ่อยในการเขียนโปรแกรมระดับต่ำ ทำไมนี้ มันเป็นเพราะนิสัยเก่านั้นยากที่จะทำลายหรือมีเหตุผลที่ดีกว่า? ตัวอย่างเช่น: Atmel ATMEGA32U2 (2010?): TIFR1(แทนTimerCounter1InterruptFlag), ICR1H(แทนInputCapture1High), DDRB(แทนDataDirectionPortB), ฯลฯ ชุดคำสั่ง. NET CLR (2002): bge.s(แทนbranch-if-greater-or-equal.short) ฯลฯ ชื่อที่ไม่ได้เป็นความลับใช้งานได้นานกว่าหรือไม่ เมื่อตอบและลงคะแนนโปรดพิจารณาสิ่งต่อไปนี้ คำอธิบายที่เป็นไปได้หลายข้อเสนอแนะที่นี่นำไปใช้อย่างเท่าเทียมกันกับการเขียนโปรแกรมระดับสูงและยังเป็นฉันทามติโดยและขนาดใหญ่คือการใช้ชื่อที่ไม่เป็นความลับประกอบด้วยคำหรือสอง (คำย่อเข้าใจกันโดยทั่วไป) นอกจากนี้หากข้อโต้แย้งหลักของคุณเกี่ยวกับพื้นที่ทางกายภาพในแผนภาพกระดาษโปรดพิจารณาว่าสิ่งนี้ไม่สามารถใช้ได้กับภาษาแอสเซมบลีหรือ CIL อย่างแน่นอนและฉันจะขอบคุณถ้าคุณแสดงแผนภาพที่ชื่อ terse พอดี แต่คนอ่านทำให้แผนภาพแย่ลง . จากประสบการณ์ส่วนตัวที่ บริษัท เซมิคอนดักเตอร์ fabless ชื่อที่อ่านได้พอดีใช้ได้ดีและทำให้ไดอะแกรมอ่านง่ายขึ้น อะไรคือสิ่งที่สำคัญที่แตกต่างเกี่ยวกับการเขียนโปรแกรมระดับต่ำเมื่อเทียบกับภาษาระดับสูงที่ทำให้ชื่อที่เป็นความลับสั้น ๆ เป็นที่ต้องการในการเขียนโปรแกรมระดับต่ำ แต่ไม่ใช่การเขียนโปรแกรมระดับสูง

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

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

10
จะหางานที่ท้าทายในบรรยากาศที่ผ่อนคลายได้ที่ไหน? [ปิด]
ฉันเป็นคนหนึ่งใน บริษัท เทคโนโลยีชื่อดัง ฉันชอบงานด้วยเหตุผลหลายประการ: ฉันทำงานที่น่าสนใจกับผลิตภัณฑ์ที่ยอดเยี่ยม ฉันแก้ปัญหาที่ท้าทายและใช้ทักษะระดับสูงมากมาย (เชิงปริมาณ, สร้างสรรค์, การเขียน, การนำเสนอ) มันจ่ายดี ปัญหาคือฉันรู้สึกว่าฉันต้องการบรรยากาศที่ผ่อนคลายมากขึ้น (ชั่วโมงที่สั้นกว่าความกดดันด้านประสิทธิภาพที่น้อยลงและความยืดหยุ่นที่มากขึ้น) เพื่อที่จะเพิ่มเวลาว่างสำหรับกิจกรรมอื่น ๆ และลดความเครียด อุดมคติจะเป็นงานที่มีประมาณ 30-35 ชั่วโมงต่อสัปดาห์ซึ่งมีความยืดหยุ่นในการทำงานมากหรือน้อยในแต่ละสัปดาห์ ใครช่วยแนะนำให้หางานแบบนี้ที่ฉันไม่ต้องเสียสละมากเกินไปในประเด็นข้างต้น? (เห็นได้ชัดว่าฉันต้องเสียสละค่าจ้าง) โดยทั่วไปแล้วนายจ้างของฉันไม่ได้เสนองานแบบไม่เต็มเวลา สิ่งที่ใกล้เคียงที่สุดที่ฉันนึกได้ก็คือตอนที่ฉันฝึกงานภาคฤดูร้อนที่แผนก CS ของมหาวิทยาลัย งานนั้นท้าทายมากด้วยความฉลาด แต่ถ้าฉันต้องกลับบ้านสองสามชั่วโมงก่อนหรือมีความยืดหยุ่นในวันที่กำหนดไม่มีใครตบขนตาเลย อย่างไรก็ตามฉันต้องการทราบว่ามีทางเลือกอื่นสำหรับสถาบันการศึกษาหรือไม่ตั้งแต่สิ่งที่ฉันได้เห็นการจ่ายเงินมีขนาดมหึมาลดลงจากสิ่งที่ฉันกำลังทำอยู่ ฉันเคยพัฒนาอาชีพอิสระมาก่อน แต่ฉันชอบที่ในฐานะพนักงานของ บริษัท ใหญ่ฉันมีหลายสิ่งหลายอย่างที่ดูแลฉัน (เช่นผลประโยชน์และรับประกันการจ้างงานที่มั่นคง)

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