เราจะเข้าใจ code ของ project ที่มีความซับซ้อนได้อย่างไร ?
ในสมัยที่ผมเขียน code แรกๆ ผมเข้าใจว่าผมสามารถเข้าใจการทำงานของ program ทุกอย่างผ่านการอ่าน code เพียงอย่างเดียว ผมมีหนังสือหลายเล่มที่อยากแนะนำให้ programmer ลองอ่านดูนะครับ
กลับมาเข้าเรื่องของเราดีกว่า สิ่งที่ผมอยากให้ผู้อ่านลองนำไปใช้ดูนะครับ
- ทำความเข้าใจ program นั้นเสียก่อน ผ่านการใช้งาน program นั้น
- ทำความเข้าใจปัญหาหลัก ที่ program นั้นถูกสร้างขึ้นเพื่อแก้ไขปัญหานั้น โดยพยายามทำความเข้าใจในรูปแบบของคำพูดคนทั่วไป ที่ไม่ใช่ coding
- ทำความเข้าใจ config file, Makefile ของ project ว่ามีโครงสร้างอย่างไร
- ศึกษา directory structure ของ project เราจะได้เห็นความสัมพันธ์ของแต่ละ module
- อย่าหวังที่จะเข้าใจ program โดยใช้แต่ debugger เพียงอย่างเดียว การที่ใช้ debugger มากเกินไป จะทำให้เราใช้ความคิดวิเคราะห์น้อยลง
- แทรก code ของเราเข้าไปใน project code เพื่อทดสอบความเข้าใจของเรา
- ใช้โหมดความคิดแบบนักสืบ และการอ่าน code ของเราจะสนุกสนานมากขึ้น
Related Posts
- CeleryとRabbitMQの連携方法: 総合的な概要
- วิธีการทำงานร่วมกันระหว่าง Celery และ RabbitMQ: ภาพรวมที่ครอบคลุม
- How Celery and RabbitMQ Work Together: A Comprehensive Overview
- วิธีเริ่มต้นโครงการ Django ด้วย Vim, Docker Compose, MySQL, และ Bootstrap
- How to Start a Django Project with Vim, Docker Compose, MySQL, and Bootstrap
- OCPPシステムをゼロから構築するための包括的ガイド
- ทำไมการเข้าใจ Design Pattern จึงสำคัญสำหรับโครงการขนาดใหญ่เช่น Odoo
- なぜOdooのような大規模プロジェクトでデザインパターンを理解する必要があるのか
- Why Understanding Design Patterns is Essential in Large Projects Like Odoo
- ระบบเฟอร์ทิเกชันอัตโนมัติในเกษตรกรรมสมัยใหม่
Articles
- CeleryとRabbitMQの連携方法: 総合的な概要
- วิธีการทำงานร่วมกันระหว่าง Celery และ RabbitMQ: ภาพรวมที่ครอบคลุม
- How Celery and RabbitMQ Work Together: A Comprehensive Overview
- วิธีเริ่มต้นโครงการ Django ด้วย Vim, Docker Compose, MySQL, และ Bootstrap
- How to Start a Django Project with Vim, Docker Compose, MySQL, and Bootstrap
- ออกแบบและปรับปรุงเว็บไซต์ให้มีประสิทธิภาพ: คู่มือสำหรับเจ้าของธุรกิจและผู้จัดการไอที
- ウェブサイトをデザインし最適化する: 事業主とITマネージャー向けの包括的ガイド
- Design and Optimize Your Website: A Comprehensive Guide for Business Owners and IT Managers
- 音声の明瞭さを向上させる: ミュージシャンとサウンドエンジニアのためのガイド
- การเพิ่มความชัดเจนของเสียง: คู่มือสำหรับนักดนตรีและวิศวกรเสียง
- Unlocking Clarity in Audio: A Guide for Musicians and Sound Engineers
- AIツール(ChatGPT)の効果的な使い方
- วิธีทำงานกับ AI อย่างมีประสิทธิภาพ เช่น ChatGPT
- How to Work Effectively with AI Like ChatGPT
- データ駆動型インサイトで観光を向上させる方法:日本から学ぶ
- การใช้ข้อมูลเพื่อพัฒนาการท่องเที่ยว: เรียนรู้จากญี่ปุ่น
- How Data-Driven Insights Can Improve Tourism: Lessons from Japan
- 数字孪生:如何革新尖竹汶府的旅游业
- ดิจิทัลทวิน: การปฏิวัติการท่องเที่ยวจันทบุรี
- How Digital Twins Can Revolutionize Chanthaburi Tourism
Our Products
Related Posts
- CeleryとRabbitMQの連携方法: 総合的な概要
- วิธีการทำงานร่วมกันระหว่าง Celery และ RabbitMQ: ภาพรวมที่ครอบคลุม
- How Celery and RabbitMQ Work Together: A Comprehensive Overview
- วิธีเริ่มต้นโครงการ Django ด้วย Vim, Docker Compose, MySQL, และ Bootstrap
- How to Start a Django Project with Vim, Docker Compose, MySQL, and Bootstrap
- OCPPシステムをゼロから構築するための包括的ガイド
- ทำไมการเข้าใจ Design Pattern จึงสำคัญสำหรับโครงการขนาดใหญ่เช่น Odoo
- なぜOdooのような大規模プロジェクトでデザインパターンを理解する必要があるのか
- Why Understanding Design Patterns is Essential in Large Projects Like Odoo
- ระบบเฟอร์ทิเกชันอัตโนมัติในเกษตรกรรมสมัยใหม่
Articles
- CeleryとRabbitMQの連携方法: 総合的な概要
- วิธีการทำงานร่วมกันระหว่าง Celery และ RabbitMQ: ภาพรวมที่ครอบคลุม
- How Celery and RabbitMQ Work Together: A Comprehensive Overview
- วิธีเริ่มต้นโครงการ Django ด้วย Vim, Docker Compose, MySQL, และ Bootstrap
- How to Start a Django Project with Vim, Docker Compose, MySQL, and Bootstrap
- ออกแบบและปรับปรุงเว็บไซต์ให้มีประสิทธิภาพ: คู่มือสำหรับเจ้าของธุรกิจและผู้จัดการไอที
- ウェブサイトをデザインし最適化する: 事業主とITマネージャー向けの包括的ガイド
- Design and Optimize Your Website: A Comprehensive Guide for Business Owners and IT Managers
- 音声の明瞭さを向上させる: ミュージシャンとサウンドエンジニアのためのガイド
- การเพิ่มความชัดเจนของเสียง: คู่มือสำหรับนักดนตรีและวิศวกรเสียง
- Unlocking Clarity in Audio: A Guide for Musicians and Sound Engineers
- AIツール(ChatGPT)の効果的な使い方
- วิธีทำงานกับ AI อย่างมีประสิทธิภาพ เช่น ChatGPT
- How to Work Effectively with AI Like ChatGPT
- データ駆動型インサイトで観光を向上させる方法:日本から学ぶ
- การใช้ข้อมูลเพื่อพัฒนาการท่องเที่ยว: เรียนรู้จากญี่ปุ่น
- How Data-Driven Insights Can Improve Tourism: Lessons from Japan
- 数字孪生:如何革新尖竹汶府的旅游业
- ดิจิทัลทวิน: การปฏิวัติการท่องเที่ยวจันทบุรี
- How Digital Twins Can Revolutionize Chanthaburi Tourism