幫助中心 | 我的帳號 | 關於我們

軟體工程基礎(影印版)(英文版)

  • 作者:(美)納撒尼爾·舒塔//丹·維加|責編:張燁
  • 出版社:東南大學
  • ISBN:9787576629552
  • 出版日期:2026/07/01
  • 裝幀:平裝
  • 頁數:379
人民幣:RMB 159 元      售價:
放入購物車
加入收藏夾

內容大鋼
    要成為一名成功的軟體工程師,你需要了解什麼?本科課程和編程訓練營或許會教授演算法和編寫代碼的基礎知識,但很少涉及對職業發展至關重要的主題。通過本書的實踐性指導,你將掌握獲得成功並持續成長所需的技能。
    作者Nathaniel Schutta與Dan Vega將引導你的學習之旅,從實用建議到對特定主題的深入剖析,幫助你掌握作為軟體工程師真正重要的技能。

作者介紹
(美)納撒尼爾·舒塔//丹·維加|責編:張燁

目錄
Preface
1. Programmer to Engineer
  An Engineer by Any Other Name
  Fundamentals Matter
  The Many Paths to Becoming a Software Engineer
  What You Were Taught Versus What You Need to Know
  Embrace the Lazy Programmer Ethos
  The Value of a Fresh Set of Eyes
  Don't Solution Too Quickly
  Apply the Golden Rule to Software
  Wrapping Up
  Putting It into Practice
  Additional Resources
2. Reading Code
  The Challenge of Working with Existing Code
  Cognitive Biases
  Approaching Unfamiliar Code
  Software Archeology
  Effective Code-Reading Strategies
    Leveraging IDE Features
    Reading Tests for Insight
  Practice Makes Perfect
  Wrapping Up
  Putting It into Practice
  Additional Resources
3. Writing Code
  Don't Reinvent the Wheel
  What Is Good Code?
  Less Is More
    The Zeroth Law of Computer Science
    Beware Boilerplate Code
    Favor Composition over Inheritance
    Favor Short Methods
  Write Code to Be Read
  The Problem with Code Comments
  Tests as Documentation
  Avoid Clever Code
  Code Reviews
  Avoid the Checkbox Code Review
  It Is Hard to Be Criticized
  Fostering Trust
  Learning New Languages
  Wrapping Up
  Putting It into Practice
  Additional Resources
4. Modeling
  What Is Software Modeling and Why Do We Do It?
  Which Diagrams Do You Need?
    Context Diagrams
    Component Diagrams

    Class Diagrams
    Sequence Diagrams
    Deployment Diagrams
    Data Models
    Additional Diagrams
  Modeling Best Practices
    Keep It Simple
    Know Your Audience
    Be Careful with Your Color Choices
    Establish Standards and Templates
  Tools
  Wrapping Up
  Putting It into Practice
  Additional Resources
5. Automated Testing
  Benefits of Automated Testing
    Acts as Documentation
    Improves Maintainability
    Boosts Your Confidence
    Leads to Consistency and Repeatability
  Types of Automated Testing
    Unit Tests
    Integration Tests
    End-to-End Tests
  What Mix of Tests Should You Be Writing?
  What You Should Not Test
  Code Coverage
  Writing Tests
    Getting Started
    Assertions
    Writing Unit Tests
    Mocking
    Writing Integration Tests
    Writing End-to-End Tests
  Wrapping Up
  Putting It into Practice
  Additional Resources
6. Exploring and Modifying Unfamiliar Systems
  Understanding Unfamiliar Codebases
    Start with the Big Picture
    Understand the Execution Flow
    Build Mental Models Incrementally
  A Sample Process
  Making Changes Safely
    Refactoring Safely
    The Scout Rule
    Small, Reversible Changes
  Wrapping Up
  Putting It into Practice
  Additional Resources

7. User Interface Design
  Designing for Everyone
    What Is Usability?
    What Is Accessibility?
    What Are Localization and Internationalization?
    Know Your User
      Secondary Users
      You Are Not Your User
      Impact of Culture
    Maximizing Usability
  Principles of Design
    Contrast
    Repetition
    Alignment
    Proximity
  Applying the Principles of Design
  Make the Right Thing the Obvious Thing
  The Importance of Good Error Messages
  Destructive Actions
  Wrapping Up
  Putting It into Practice
  Additional Resources
8. Working with Data
  Understanding Data Types and Formats
    Structured Versus Unstructured Data
    Common Data Formats
    Specialized Data Considerations
  Storing Your Data Effectively
    Database Types and Their Use Cases
    Data Persistence and Management
    Database Connections and Transactions
    Consistency Models and Caching Strategies
    Planning for Data Growth
  Querying and Managing Data Performance
    Efficient Query Writing
    Tools and Best Practices
  Data Migration and Transformation
    Understanding Data Movement Fundamentals
    Handling Schema Changes
  Wrapping Up
  Putting It into Practice
  Additional Resources
9. Software Architecture
  What Is Architecture?
  Trade-Offs
  Architecture Versus Design
  Quality Attributes
    Identifying Quality Attributes
    Gaining Stakeholder Alignment
  Architectural Styles

  The Agile Architect
  Fitness Functions
  Architectural Diagrams
  Architectural Decision Records
  Wrapping Up
  Putting It into Practice
  Additional Resources
10. To Production
  The Complexities of Production Environments
    Users Are Unpredictable
    "But It Works on My Machine"
  Building Production-Ready Code
    Performance Optimization
    Environment-Specific Configurations
    Error Handling and Logging
  Security Essentials
  Deployment Pipeline
    Deployment Environments
    Version Control Strategies
    Deployment Automation
    Deployment Strategies
    Continuous Integration and Continuous Deployment
  Production System Monitoring and Maintenance
    Monitoring
    System Maintenance
  Wrapping Up
  Putting It into Practice
  Additional Resources
11. Powering Up Your Productivity
  Optimizing Your Development Environment
    Know Your Development Tools
    Build Your Own Lightsaber
    Leverage the Power of the Command Line
    Harness the Power of Keyboard Shortcuts
  Strategic Automation
  The Perpetual Pursuit of Productive Habits
    Collaborative Learning
    Personal Knowledge Management
  Wrapping It Up
  Putting It into Practice
  Additional Resources
12. Learning to Learn
  Cramming Doesn't Work
  Skills Acquisition
  The Learning Habit
  Learning Through AI
    Fear of Missing Out
  Where Should You Invest Your Time?
  Practice Innovation
  Architectural Briefings

  Practice Grace
  Wrapping Up
  Putting It into Practice
  Additional Resources
13. Mastering Soft Skills in the Tech World
  Collaborative Communication
    Communication Channels
    Enterprise Operator
    Know Your Audience
  Practicing Influence
    Understanding and Articulating Value
    Strategic Approaches to Influence
    Stakeholder Management
  Time Management
    Maker's Schedule
    Staying on Task
  Wrapping Up
  Putting It into Practice
  Additional Resources
14. Career Management
  Plan Your Career Path
    Find What You're Passionate About
    Exploring Your Career Options
    Walking Backward from Your Goals
    Deliberate Skill Acquisition
    Aligning Career Choices with Life Phases
  Walking Your Career Path
    Celebrate and Record Your Wins
    Overcome Imposter Syndrome
    Build Your Professional Community
    Cultivating Your Professional Relationships
    Acing Your Next Interview
    Create Work-Life Balance
  Wrapping Up
  Putting It into Practice
  Additional Resources
15. The AI-Powered Software Engineer
  What Is AI Really?
    Demystifying AI Terminology
  Understanding AI's Capabilities and Limitations
  AI as Your Pair Programmer
    Standalone Chatbot Assistants
    Inline IDE Assistants
    Agentic AI IDE Environments
  Prompt Engineering Fundamentals
    What Is Prompt Engineering?
    Essential Prompt Engineering Techniques
    Advanced Prompt Engineering Techniques
  How AI Might Shape Software Engineering
    Will AI Take My Job?

  Vibe Code Reviews
  AI as Your Force Multiplier: From Writing Code to Problem-Solving
  Wrapping Up
  Putting It into Practice
  Additional Resources
Index

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032