Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Ruby

5 เหตุผลหลักที่นักพัฒนาข้ามการเขียนทดสอบ

Good developers รู้ว่าควรทดสอบโค้ด แตบ่อยครั้งทดสอบถูกข้าม เร่ง หรือไม่เริ่มเลย มี traps common ที่เห็นคนตก และฆ่า motivation ทดสอบทุกครั้ง

1. ควร用 RSpec? Cucumber? Capybara? Minitest?

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

แทนนั้น เลือก stack ที่รู้ดีที่สุด ไม่ experienced กับ test stack ใด ใช้ default เริ่มจากที่ Rails ให้ เพิ่มภายหลังได้ ไม่ผิดเลยลอง tools ใหม่ แต 好得多 introduce พวกมันเวลารู้จักโปรเจกต์และ workflow ดีกว่า

2. เริ่ม unit tests? functional tests? integration tests?

เริ่มโปรเจกต์ ควรมีไอเดีย features/screens ไหนสร้างก่อน นี่ starting point ดี! เอา feature แรกเขียน failing integration test บอก controllers/routes ที่ขาด ต้องเขียน failing functional tests Controllers ต้องการ data/logic ทำงาน เขียน unit tests และ models ต่อ ตอน unit tests ผ่าน functional tests ควรผ่าน และ integration test ผ่าน ไป feature ถัดไป

ถ้ามี testing process ที่มี next step ตรงไปตรงมา ง่าย stay motivated ถ้าไม่ต้อง決策 โอกาส procrastinate น้อย

3. ไม่รู้ทดสอบ network code, command line utility, หรือ rake task!

ง่ายที่สุด: ย้ายโค้ดมากที่สุดจาก file/class ที่ทดสอบยาก ไป object ใหม่ที่ทดสอบง่าย ทำให้ hard-to-test thing แค่สร้างและส่ง parameters ไป object ใหม่

當然 ยัง มี original hard-to-test thing แตมันแค่บรรทัดน้อย และควร stub/fake ง่ายขึ้น

4. "โปรเจเกือบเสร็จ ตอนนี้แค่เขียนทดสอบให้เสร็จ!"

ทุก developer 渴望 ship code ถ้าทดสอบเป็นสิ่งสุดท้ายก่อน ship คุณจะเขียนทดสอบ minimum เพื่อรู้สึก confident กว่า ถ้าเข้า habit นี้ จะมองทดสอบเป็น annoying แทน helpful และยาก motivate เขียน

สิ่งโปรดของผมเกี่ยว TDD คือมันผสม testing กับ design และ coding ทำให้มอง testing เป็น coding ทำให้สนุกกว่า (และได้ประโยชน์ทดสอบ เร็วกว่ามาก)

5. ถ้าทำผิดไง?

Ruby community 推 code quality, unit testing, OOD principles มาก นี่ดี! แตหมายถึง pressure ใหญ่ ship perfect code 100% coverage ครั้งแรก

ทำให้เริ่มโปรเจกต์ยาก โดยเฉพาะ open source ที่รู้คนอื่นจะเห็นโค้ด คนจะพูดอะไรถ้าไม่ follow SOLID principles? แตเรียนรู้สักพักช่วยจัดการ pressure:

  • Every good developer เขียนโค้ดที่ embarrassing ภายหลัง
  • Good code ที่ ship ดีกว่า perfect code ที่ไม่ ship
  • บางคนแค่ jerk ทำเงินโค้ด ความรู้สึกแย่ บ้า weeks ของผม แต good developers อยาก ช่วย แทน criticize และเดิมพันว่าโชว์โค้ดให้ programming hero พวกเขาไม่เยาะ จะช่วยทำให้ดีกว่า

สังเกตอะไรเพิ่ม?

ตก trap ไหน? อะไรช่วยดึงออก? และมี trap ไหนผมไม่ได้กล่าวที่สังเกต?

ถ้ารู้จักตัวเองใน traps ไหน จะทำอะไรเพื่อดึงตัวเองออก?