qizhong19920114 / cs-cornerstone

19 Concepts Every Software Developer Should Know

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


19 Concepts Every Developer Should Know

19 Concepts Every Developer Should Know

  • 良好的 程序设计 能力:
    • 掌握常用的数据结构和算法(例如链表,栈,堆,队列,排序和散列);
    • 理解计算机科学的核心概念(例如计算机系统结构、操作系统、编译原理和计算机网络);
    • 熟悉至少两门以上编程语言(例如 C++,Java,C#,和 Python);
  • 专业的 软件开发 素养:
    • 具备良好的编程实践,能够编写可测试(Testable),可扩展(Extensible),可维护(Maintainable)的代码;
    • 把握客户需求,按时交付客户所需要的软件产品;
    • 理解现代软件开发过程中的核心概念(例如面向对象程序设计,测试驱动开发,持续集成,和持续交付等等)。

from 程序员必读书单 1.0

简而言之,能用编程优雅地解决问题,知道并内化过去的最佳实践。

List (19)

Design / 程序设计

  • 01. Basics / 基础理论
  • 02. Programming Language / 编程语言
  • 03. Theory behind programming language / 编程语言理论
  • 04. Design Programs / 程序设计 : 如何正确地写“好程序”?
  • 05. Algorithms and Data Structure / 算法与数据结构
  • 06. Program Debugging / 程序调试

Development / 软件开发

  • 07. The Practice of Programming / 编程实践
  • 08. Object Oriented Design / 面向对象程序设计
  • 09. Refactoring / 重构: 在保持代码行为的基础上,提升代码的质量。
  • 10. Testing / 软件测试
  • 11. Project Management / 项目管理
  • 12. Professional Development / 专业开发
  • 13. Masters / 大师之言: 与行业里最牛的几位谈谈心
  • 14. UI Design / 界面设计
  • 15. Interactive Design / 交互设计

Growth 个人成长

  • 16. Career Planning / 职业规划
  • 17. Way of Thinking / 思维方式
  • 18. Interview / 求职面试
  • 19. English Writing / 英语写作

About

19 Concepts Every Software Developer Should Know