ฉันจะส่งเสริมและสนับสนุนรหัสคุณภาพสูงได้อย่างไร


16

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

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

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

เมื่อนักพัฒนารายอื่นเข้าร่วมโครงการฉันสังเกตเห็นว่าพวกเขาใช้รูปแบบการเข้ารหัสที่แตกต่างกัน (บางครั้งก็เป็นสไตล์ที่แตกต่างอย่างสิ้นเชิง) และมักจะไม่ใช้คุณสมบัติภาษาสมัยใหม่เช่นตัวเข้าถึงคุณสมบัติ บางครั้งพวกเขาจะประดิษฐ์จักรยานของตัวเองแทนที่จะใช้คุณสมบัติที่คล้ายกันของกรอบงานหรือถ่ายโอนแนวคิดจากภาษาโปรแกรมหรือ patters อื่น ๆ ที่พวกเขาเรียนรู้ลงในฐานรหัสของเรา บ่อยครั้งที่พวกเขาไม่สามารถตั้งชื่อวิธีการหรือตัวแปรได้อย่างเหมาะสมเนื่องจากภาษาอังกฤษไม่ดี (Objective-C เป็นภาษาที่คุณใช้ชื่อยาว)

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

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

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

ฉันจะจัดการกับสถานการณ์นี้ได้อย่างไรโดยไม่เพียง แต่มุ่งเน้นไปที่ 'วัฒนธรรมของ บริษัท ที่ไม่ดี', 'บัณฑิตที่ไม่มีประสบการณ์' และอื่น ๆ และเริ่มปรับปรุงสถานการณ์ให้ดีขึ้น


3
คุณมีอะไรในทางที่จะนำทีม / นักพัฒนา / ผู้จัดการอาวุโส
Philip Kendall

3
"ให้ปลาแก่ผู้ชายคนหนึ่งและให้อาหารเขาหนึ่งวันสอนคนให้ปลาและให้อาหารเขาตลอดชีวิต" - แทนที่จะ "แค่ทำงานของคุณ" และสร้างส่วนเล็ก ๆ ของรหัสที่คุณควบคุมเริ่มสอนคนอื่น สไตล์การเข้ารหัสที่ดีขึ้น ตรวจสอบให้แน่ใจว่าคุณได้รับการสำรองข้อมูลจากฝ่ายบริหารสำหรับเรื่องนี้
Doc Brown

คำตอบ:


5

สอนและฝึกฝนสิ่งที่คุณเทศนา

คุณรู้ว่าสิ่งนี้มีความสำคัญ คุณรู้ข้อเสียเมื่อมันไม่ถูกต้อง

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

ความต้องการนี้:

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

ในคำว่ามันต้อง

ความเป็นผู้นำ

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


2

ฉันเคยเขียนเรื่อง SoftwareEngineering.SE มากมายในอดีตและอยู่ในสถานการณ์ที่คล้ายกันด้วยตัวเอง ดังนั้นฉันจะพยายามให้คำแนะนำเล็กน้อยและเน้นประเด็นที่ฉันสังเกตเห็นเมื่ออ่านคำถามของคุณ

แต่ก่อนอื่นเรามาพูดถึงสิ่งสำคัญ: บทบาทของคุณใน บริษัท

บทบาทของคุณ

คุณอาจจะมีเอกสารที่ชัดเจนจากเจ้านายของคุณเพื่อเพิ่มสิ่งและยังเป็นสถานที่ในลำดับชั้นที่นักพัฒนาอื่น ๆ ที่มีการฟังที่คุณสั่งซื้อ หรือคุณอาจจะอยู่ในหมู่เพื่อนร่วมงานที่มีบทบาทเดียวกันและผู้มีอำนาจเดียวกันตัวเลือกของคุณเป็นเพียง ... ดี ... ความคิดเห็น

ในทั้งสองกรณีสิ่งที่สำคัญคือตำแหน่งของคุณน้อยลงในลำดับชั้นและอื่น ๆ :

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

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

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

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

ตอนนี้คำแนะนำ

สไตล์

ฉันเคยขอให้ทำตามสไตล์การเข้ารหัสและการจัดรูปแบบของโค้ดที่มีอยู่ส่วนใหญ่ (น่าเศร้าที่เราไม่มีเอกสารสไตล์การเข้ารหัสที่เป็นทางการ) แต่มันไม่ทำงาน ...

แน่นอนมันไม่ได้เพราะนี่ไม่ใช่วิธีที่ควรจะทำ

  • สไตล์ที่น่าเบื่อ

  • รูปแบบต่อไปนี้เป็นที่น่าเบื่อ

  • การเขียนเอกสารสไตล์การเขียนรหัสเป็นสิ่งที่น่าเบื่อ ( และยากมากอย่าลองทำมันจนกว่าคุณจะได้ทำงานกับภาษามานานกว่าสิบปีแล้ว)

  • อ่านเอกสารรูปแบบที่น่าเบื่อ

  • รหัสการตรวจสอบความผิดพลาดสไตล์ที่น่าเบื่อ

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

ดังนั้น:

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

  • อย่าเขียนมาตรฐานสไตล์ของคุณเอง คุณจะทำผิดแล้วและเพื่อนร่วมงานของคุณจะหมุนรอบคุณว่าคุณเลือกไม่ดี

  • อย่าบังคับนักพัฒนาให้แก้ไขข้อผิดพลาดของสไตล์ 2 000

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

  • ทำตั้งแต่เริ่มโครงการ การตั้งค่าการควบคุมสไตล์ในโครงการที่มีอยู่นั้นเป็นไปไม่ได้ยาก

สำหรับข้อมูลเพิ่มเติมเกี่ยวที่อ่านส่วนแรกของคำตอบอื่น ๆ เกี่ยวกับเรื่องนี้ SE.SE

นอกจากนี้:

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

บทวิจารณ์โค้ด

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

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

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

  • แสดงว่าไม่มีอะไรเป็นส่วนตัว: คุณกำลังทบทวนรหัสไม่ใช่ทักษะของบุคคลนั้น

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

  • ไม่เคยเถียง คุณไม่ได้อยู่ที่นี่เพื่อโน้มน้าวใจ แต่เพื่อมอบความเชี่ยวชาญของคุณ

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

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

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

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

การอบรม

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

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

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

เน้นบริบทไม่ใช่คน

ฉันจะจัดการกับสถานการณ์นี้ได้อย่างไรโดยไม่เพียง แต่มุ่งเน้นไปที่ 'วัฒนธรรมของ บริษัท ที่ไม่ดี', 'บัณฑิตที่ไม่มีประสบการณ์' เป็นต้น

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

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

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

รับตัวชี้วัดของคุณถูกต้อง

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

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

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

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

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

ขั้นตอนต่อไปคือการเห็นด้วยกับทีมของคุณในอัตราส่วนเป้าหมาย อาจเป็น 15% สำหรับการวิ่งครั้งต่อไป, 10% สำหรับการวิ่งครั้งต่อไป, 5% ในหกสัปดาห์, และ 0% ในสองเดือน ตัวชี้วัดเหล่านั้นจะคำนวณใหม่โดยอัตโนมัติในทุกการกระทำและแสดงบนหน้าจอขนาดใหญ่ในสำนักงาน

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

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

ข้อสรุป

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

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

    คุณต้องบังคับใช้สไตล์อัตโนมัติ

  • และมักจะไม่ใช้คุณสมบัติภาษาที่ทันสมัยเช่นตัวเข้าถึงคุณสมบัติ (ค่อนข้างใหม่ใน Objective-C)

    ทั้งบทวิจารณ์โค้ดและการฝึกอบรมอยู่ที่นี่เพื่อถ่ายทอดความรู้ภาษา

  • บางครั้งพวกเขาก็คิดค้นจักรยานของตัวเองแทนที่จะใช้คุณสมบัติที่คล้ายกันของกรอบ

    ทั้งบทวิจารณ์โค้ดและการฝึกอบรมอยู่ที่นี่เพื่อถ่ายทอดความรู้เกี่ยวกับกรอบงาน

  • หรือถ่ายโอนแนวคิดจากภาษาโปรแกรมหรือ patters อื่น ๆ ที่พวกเขาเรียนรู้ลงในฐานรหัสของเรา

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

  • บ่อยครั้งที่พวกเขาไม่สามารถตั้งชื่อวิธีการหรือตัวแปรได้อย่างเหมาะสมเนื่องจากภาษาอังกฤษไม่ดี

    การตรวจสอบรหัสควรเน้นที่การตั้งชื่อที่เหมาะสม IDE บางตัวมีตัวตรวจสอบการสะกดด้วยเช่นกัน

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

    แน่นอนว่าพวกเขาจะ สไตล์น่าเบื่อและควรเป็นแบบอัตโนมัติ

  • โดยทั่วไปฉันเกลียดโค้ดที่เขียน

    โปรดจำไว้ว่าจากบทวิจารณ์ของรหัส:“ เป้าหมายไม่ใช่เพื่อแสดงว่านักพัฒนาซอฟต์แวร์นั้นแย่เพียงใด เป้าหมายคือการให้โอกาสในการปรับปรุง”

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

    การตรวจสอบรูปแบบอัตโนมัติ

  • ฉันรู้สึกหงุดหงิดมากเมื่อพวกเขาเพิ่มสปาเก็ตตี้ในชิ้นงานศิลปะของฉัน

    รออะไร?! ผลงานศิลปะ! คาดเดาอะไร บางคน (รวมถึงคุณในหกเดือน) อาจพบว่ารหัสของคุณอยู่ไกลจากการเป็นงานศิลปะ ในขณะเดียวกันให้เข้าใจว่าการพิจารณางานของคุณเป็นงานศิลปะและงานของพวกเขาเนื่องจากอึจะไม่ช่วยใคร รวมถึงคุณ.

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

    แน่นอนพวกเขาจะทำสิ่งที่ต้องการจากพวกเขา จำเอาไว้: บริบทบุคคลที่ไม่ได้และได้รับตัวชี้วัดของคุณได้ หากบริบทต้องการจากพวกเขาให้ดีที่สุดในสิ่งที่พวกเขาทำพวกเขาจะทำ หากบริบทนั้นต้องการผลิต KLOC ให้ได้มากที่สุดต่อเดือนเท่าที่จะทำได้และไม่มีอะไรเพิ่มเติมพวกเขาก็จะทำเช่นกัน


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

@tofro: ขอบคุณ อย่างไรก็ตามการตรวจสอบรหัสเป็นเพียงด้านเดียวเท่านั้น การตรวจสอบรูปแบบอัตโนมัติเป็นวิธีที่สำคัญกว่า แต่ไม่ได้กล่าวถึงในคำตอบก่อนหน้าใด ๆ ตัวชี้วัดไม่ได้กล่าวถึงเช่นกัน ในทำนองเดียวกันไม่มีการเน้นข้อเท็จจริงที่ว่า OP เรียกรหัสของเขาว่า "ผลงานศิลปะ" แม้ว่านี่จะเป็นสิ่งสำคัญมาก
Arseni Mourzenko

@tofro: “ การตรวจสอบโค้ดขึ้นอยู่กับใครบางคนในระดับการจัดการที่จะต้องใส่ใจจริงๆและถ้าใครที่ขาดหายไปคุณจะถูกลงโทษ” : จากประสบการณ์ของฉันการสนับสนุนจากฝ่ายบริหารไม่ใช่ข้อกำหนดเบื้องต้น ฉันต้องทำงานเป็นทีมที่ฝ่ายบริหารไม่เป็นมิตรกับการตรวจสอบโค้ดโดยพิจารณาเสียเวลา เรายังคงทำสิ่งเหล่านี้อยู่และนำมาซึ่งประโยชน์ที่สามารถวัดได้ในแง่ของคุณภาพของรหัส (ข้อบกพร่องน้อยลงและการแก้ไขข้อบกพร่องน้อยกว่า) และประโยชน์ที่ไม่สามารถวัดได้ของความสุขและประสบการณ์ของสมาชิกในทีม ทีมที่ดีสามารถทำสิ่งที่ยิ่งใหญ่ได้แม้กระทั่งกับการจัดการที่ไร้ความสามารถ
Arseni Mourzenko

ฉันยอมรับว่าคุณไม่ต้องการการสนับสนุนด้านการจัดการเมื่อทีมมีความสนใจร่วมกับ CR - เห็นได้ชัดว่านี่ไม่ใช่กรณีที่นี่
tofro

0

ใช้มาตรฐานการเข้ารหัสและติดโดยพวกเขา, รูปแบบการออกแบบ, โค้ดสนิปเพตที่หนึ่งสามารถใช้เป็นแนวทาง, ฯลฯ

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


0

หากเป็นไปได้ให้ใช้มาตรฐานการเข้ารหัสและการตรวจสอบโค้ด - เพื่อเริ่มการตรวจสอบทุก ๆ การเช็คอิน ด้วยทีมเล็ก ๆ มันจะเป็นการยากที่จะขายให้กับผู้ที่ไม่เข้าใจว่าการใช้รหัสพิเศษ 2x หรือ 3x ในโค้ดของคุณล่วงหน้าจะช่วยให้คุณประหยัด 20x หรือ 30x ในเวลาในการพัฒนาโดยรวม - ใน

ฉันจะไม่พยายามใช้ทุกอย่างพร้อมกันและฉันจะพยายามทำให้ดีที่สุดเพื่อให้ได้มาตรฐานเช่นกัน - ไม่ใช่แค่การเยื้อง แต่พยายามทำให้พวกเขาคิดเกี่ยวกับสิ่งที่พวกเขาพบในรหัสที่มี ทำให้ชีวิตของพวกเขาง่ายขึ้นหรือยากขึ้น

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

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


0

อาการที่คุณอธิบายขอแนะนำให้ขาดการทำงานร่วมกันของทีม

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

อาการ:

  • "พวกเขาเพียงแค่ทำในสิ่งที่จำเป็นและกลับบ้าน": เสียงที่พวกเขาลดความอ้วน พวกเขาไม่กระตือรือร้นเมื่อมาถึงหรือไม่
  • "พวกเขา" กับ "พวกเรา" / "ฉัน" / "ฉัน": ขาดความไว้วางใจซึ่งกันและกัน?
  • "ฉันให้คำแนะนำบางอย่าง: ฉันแสดงความเห็นเกี่ยวกับ PR ใน Git": บางครั้งการตีความที่เป็นลายลักษณ์อักษรก็อาจตีความได้ว่าเป็นการวิจารณ์ที่ก้าวร้าวหรือหยิ่งแม้จะมีเจตนาที่สร้างสรรค์ ทำไมไม่พูดคุยตัวต่อตัวล่ะ?

คุณเป็นทีมเล็ก: ใช้ความได้เปรียบนี้! ความคิดบางอย่างที่จะเริ่มต้น:

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

อ้างจากวันนี้:

ถ้าคุณต้องการที่จะไปอย่างรวดเร็วไปคนเดียว ถ้าคุณต้องการไปไกลให้ไปด้วยกัน


0

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

ส่วนที่สองนั้นง่ายที่สุด คุณออกและค้นหา บริษัท ที่มีค่าเดียวกันกับที่คุณทำงาน ข้อแรกไม่ใช่เรื่องง่ายเพราะคน ...

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

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

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

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

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

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

ลองเปลี่ยนมุมมองสักครู่

ฉันรู้สึกหงุดหงิดมากเมื่อพวกเขาเพิ่มสปาเก็ตตี้ในงานศิลปะของฉันและมันส่งผลต่ออารมณ์ในที่ทำงานและประสิทธิภาพการทำงานของฉัน

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

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

ฉันจะจัดการกับสถานการณ์นี้ได้อย่างไรโดยไม่เพียง แต่มุ่งเน้นไปที่ 'วัฒนธรรมของ บริษัท ที่ไม่ดี', 'บัณฑิตที่ไม่มีประสบการณ์' และอื่น ๆ และเริ่มปรับปรุงสถานการณ์ให้ดีขึ้น

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

และทำมันในขั้นตอนเล็ก ๆ

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

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