当前位置: 首页 > news >正文

成为一名优秀的Developer的书单

这是一份关于如何Re-Practise的技术书籍推荐书单。

一直画/写一个推荐书单来供大家参考,无奈找不到一本合适的形式。有一天,想到了之前的技术树 https://github.com/phodal/sherlock,便开始落地了。

我深知自己的知识有限,所以写下本文以便和大家切磋交流。欢迎通过 GitHub 的Issues或者直接Pull Requests方式来分享你的经验。期待你的反馈。

基本阅读路线图:

BookTree

首先,你需要选择一门语言,然后学习之。这时有一些还不错,如JavaScript实战,JavaScript Cookbook,前者是一门实站手册,后者则是参考手册。再来一本某某语言,或者框架的实战,与权威指南,你就可以完成工作了。

然后呢?

说明: 完成工作是一件很容易的事,如何更好地完成工作就需要更多地学习。并且我坚信每一个有技术热情的人,都希望可以看到自己写的框架可以无处不在。

《技术的本质》 - W. Brain Arthur早已看穿了一切

这是一本关于『技术是什么,它是如何进化』的书。新的技术是根据于我们当前的目的、一个可实现的原理、一种新现象而发明的。并且,新的技术都是基于之前的技术发展出来的。

So,通过研究现有技术的一些发展,我们可以预料到一些新的技术的出现。尽管新的技术并没有解决一些根本性问题,如业务,但是它是为了业务而简化现有的技术。

如何写好代码——重构与设计模式

从编写可读的代码,到重构现有的代码,再到设计模式,是编码的必备法则。

如何写好代码——重构与设计模式

  • 《测试驱动开发》: 尽管在国内,我们很少听到开发人员写测试,就更少听人们谈论TDD。虽然我不是TDD的死忠,但是我觉得TDD还是很有好处的。特别是当你的函数特别长的时候,它可以驱使你写出更短的函数——更多的函数。红->绿->重构,就是这么简单。

  • 《重构: 改善既有代码的设计》: 红->绿->重构。如果重构之前没有测试,我相信你可能是想换个工作了。好的代码是重构出来的,而不是一开始就写出来的——除非你的代码不用于任何业务。反正,就是程序员必读,不想多说。

  • 《Head First设计模式》: GoF的《设计模式》一书很薄,所以也很抽象。第一次看《设计模式》的时候,硬着头皮看了几天,然后放弃了。。。不过,Head First系列可以将各种枯燥的设计生起起来,这是一本非常适合入门设计模式的书籍没有之一。

  • 《设计模式解析》: 比Head First更深入,但是比DP简单。作者选用了一些常用或者说用到的模式,讲述了为什么在这里适合用它。

  • 《易读代码的艺术/编写可读代码的艺术》: 纳尼!你居然不想买这本书?

  • 《代码整洁之道》: 书中给了很方法与规范,遵循它们可以写出整洁的代码。但是整洁并不意味着你应该让代码简单!

  • 《重构与模式》: 这本书的中文名字应该叫《重构到模式》!!!重构代码到设计模式就这么简单。

  • 《设计模式》: 必读,并且值得多读几遍。

  • 《元素模式》: 首先书名很扯!!!这本书更适合叫《设计模式要素》!这本书提取了设计模式中的一些基本元素,很具有启发性。

如何写前端框架——前端读书路线图

以JavaScript作为例子来解释如何去学习一门语言,从语法到最后的MVC。

如何写前端框架——前端读书路线图

机器学习读书路线

机器学习依赖于大量的数据和理论知识,而数据又可以创造出美妙的数据可视化图像。

机器学习读书路线

持续交付读书路线图

敏捷是过去,持续交付是现在,未来呢?

想要构建一个好的项目,构建系统、自动化测试、可配置缺一不可。

持续交付读书路线图

领域特定语言读书路线图

最好的语言就是可以表达你业务的语言。

如果你熟悉前端的知识的话,你会发现DSL无处不在。

领域特定语言读书路线图

架构与模式读书路线图——每个人都是架构师。

成为架构师最简单的方法就是学习别人的模式。

成为成功架构师便是创建模式。

架构与模式读书路线图

相关文章:

  • HDU ACM 2586 How far away ?LCA-gt;并查集+Tarjan(离线)算法
  • php正则获取网页标题、关键字、网页描述代码
  • centos 6.4配置samba+ldap认证
  • 理解并取证:以太通道的动态协商机制的工作原理
  • Linux内核跟踪之trace框架分析【转】
  • 转 C#图像处理(各种旋转、改变大小、柔化、锐化、雾化、底片、浮雕、黑白、滤镜效果)...
  • [ 2222 ]http://e.eqxiu.com/s/wJMf15Ku
  • Spring-AOP
  • Exchange2013下Telnet发送测试邮件失败及解决方案
  • 《FPGA全程进阶---实战演练》之搞定阻抗匹配
  • VI编辑常用命令
  • Redux系列x:源码分析
  • 12.28作业
  • 微信开发学习路线
  • ceph集群配置注意事项
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • Effective Java 笔记(一)
  • JavaScript/HTML5图表开发工具JavaScript Charts v3.19.6发布【附下载】
  • React系列之 Redux 架构模式
  • Solarized Scheme
  • Vim Clutch | 面向脚踏板编程……
  • Vue学习第二天
  • 工作中总结前端开发流程--vue项目
  • 基于组件的设计工作流与界面抽象
  • 每天10道Java面试题,跟我走,offer有!
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • ​ubuntu下安装kvm虚拟机
  • ​批处理文件中的errorlevel用法
  • ​人工智能之父图灵诞辰纪念日,一起来看最受读者欢迎的AI技术好书
  • (八)Docker网络跨主机通讯vxlan和vlan
  • (分布式缓存)Redis哨兵
  • (附源码)springboot高校宿舍交电费系统 毕业设计031552
  • (个人笔记质量不佳)SQL 左连接、右连接、内连接的区别
  • (切换多语言)vantUI+vue-i18n进行国际化配置及新增没有的语言包
  • (十)DDRC架构组成、效率Efficiency及功能实现
  • (四)JPA - JQPL 实现增删改查
  • (一)ClickHouse 中的 `MaterializedMySQL` 数据库引擎的使用方法、设置、特性和限制。
  • (已解决)什么是vue导航守卫
  • (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决
  • (转)视频码率,帧率和分辨率的联系与区别
  • (转)重识new
  • .net core 实现redis分片_基于 Redis 的分布式任务调度框架 earth-frost
  • .net 调用php,php 调用.net com组件 --
  • .net 受管制代码
  • .NET/C# 中设置当发生某个特定异常时进入断点(不借助 Visual Studio 的纯代码实现)
  • .net和jar包windows服务部署
  • .net图片验证码生成、点击刷新及验证输入是否正确
  • .Net下的签名与混淆
  • .net中生成excel后调整宽度
  • .vimrc php,修改home目录下的.vimrc文件,vim配置php高亮显示
  • @Autowired @Resource @Qualifier的区别
  • [.NET]桃源网络硬盘 v7.4
  • []常用AT命令解释()
  • [20180312]进程管理其中的SQL Server进程占用内存远远大于SQL server内部统计出来的内存...
  • [BUUCTF]-PWN:[极客大挑战 2019]Not Bad解析