暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

读评《web全栈工程师的自我修养》下

好奇驱动技术 2016-06-10
207

书接上文,下半部分更多的去讨论工程师本身。诸如大前端的概念,给做前端的同学打开了思路。同时向移动端转型,这个是大势所趋,因为每个人的碎片化的时间都已经在移动终端上面了。


除此之外,对编程语言、设计模式作者也都有自己的看法,不妨一看。而在最后一章中,作者用切身体会说明了高效工程师该如何做,其中不乏好的观点和模式,值得学习。

大前端

作者在本章聊了聊大前端的概念,这也是最近在前端业界被提的比较多的一点。 


比较有参考价值的是作者归纳的前端知识体系: 
初级工程师:

  • 对浏览器兼容性的了解

  • 对HTML/CSS/JavaScript语法和原理的理解

  • 对编辑器和插件的熟悉程度

  • 对调试工具的了解程度

  • 对版本管理软件的熟悉和应用经验

  • 对前端库/框架的使用

  • 标准/规范

中级工程师:

  • 对代码质量、代码规范的理解

  • 对Javascript单元测试的熟悉

  • 对性能优化的应用和理解

  • 对SEO的应用和理解

  • 代码部署

  • 移动web

高级工程师:

  • 代码架构

  • 安全

  • 对自动化测试的理解

一家之言,不过大家需要的可以自行对照参考。

向移动端转型

移动端转型是大势所趋,因为大家在手机上花费的浏览时间越来越长了。 
移动端可以参与的主要有:

  • IOS原生App

  • Android原生App

  • Windows Phone原生App

  • Web App

  • 混合模式App(最近热的发烫的reactor)

本章在讨论移动端的同时也强调了一个观点:

让市场认可你的能力,而不是让老板认可,因为老板会变,老板的标准不一致,而市场是一致的。

持续集成

对于服务端和前端开发而言,由于没有客户端和移动app端的集成开发环境,比较难打通包括版本控制、包管理、依赖关系、持续集成在内的流程。

版本控制软件中,SVN与GIT难解难分。 本质上是集中管理和分布式代码管理之争。这里不展开,但是提供一些版本控制的最佳实践:

  • 鼓励频繁的提交

  • 确定分支流程:feature分支和bug修复分支是必须的

  • 定义主干原则:主干必须可以随时上线

  • 不要把逻辑修改和代码格式化混在一起

  • 不想干的代码分开提交

  • 保持工作代码库干净:适当的ignore

包管理中,node的npm做的非常出色。经历过java的maven那一套的都能理解npm做的有多好,多简单。同时作者还推介了bower作为新的包管理工具,这适用于有很多前端版本js库的情况。

最后本章讨论了构建工具:

  • 首先必须有良好架构 

    • 具备合适的分离粒度,区分全局、局部组件

    • 最小知识原则:组件和对象不应暴露细节

    • DRY:特殊功能不应存在多个副本

    • 最小化预先设计:选择器这类组件,必须留下自定义空间,不限死排列

    • 一致且可执行的命名规则

  • 完成了良好架构,接下来就是grunt、gulp等javascript构建工具的登场

理解编程语言

本章更多是以一种白话的方式老生常谈了程序界经常讨论的问题:是语言重要还是对算法和系统的理解更重要。 


当然最终作者没有也无法给出答案,这个只能读者自己来思考了。

全栈游乐场

全栈工程师的游乐场是VPS,随着阿里云、腾讯云、AWS的大力推广,现在获取VPS的成本也越来越低了。 


获取自己的VPS并搭建自己网站最大的好处就在于它可以给你一览网站的全貌,而不再是局限在自己的技术栈中。 
作者在本章也给出了使用VPS的一般入门,有兴趣的同学可以关注下。

软件设计方法

本章作者主要介绍了常见的设计模式,比较有料的是介绍了Web开发中的MVC这种架构模式。同时也列举了一些不同语言中常见的MVC框架:

  • Javascript mvc framework:AngularJS、backbone.js

  • Php:CakePHP、Yii、Codeigniter

  • Objective-C: Cocoa

  • Ruby mvc framework:Ruby on Rails

  • Nodejs:Sail.js Total.js Express

高效工程师

效率在现在快节奏的职场中越来越重要。对于工程师来说,必须做到:

  • 不断学习 

    • 阅读英文资料

    • 加入技术社区

    • 善用搜索引擎

  • 时间管理 

    • 时间管理四象限:要忙,但是不要瞎忙

    • 消除重复的工作:善用脚本,善用工具

    • 给自己留出专注的时间

    • 番茄工作法

    • 跨界思考

    • 智商头脑风暴

学习设计

对工程师来说,了解设计,对设计有感觉非常的重要。 
作者这里推荐了一本《写给大家看的设计书》,着重强调了设计的四大基本理论:

  • 亲密性

  • 对齐

  • 重复

  • 对比 
    对这些理论的理解能够让我们在coding的同时,也能停下来看看自己的产品究竟做的如何。

全栈思维

一个人的价值,体现在他能够承担的责任。

市场越成熟,这句话应该就越对。 
同时作者强调了沟通能力在全栈能力中的重要作用:

  • 针对目标听众 

    • 诉诸对方的利益

  • 找到方法 

    • 立场足够简单,围绕这一立场沟通

    • 金字塔原则:任何事情都可以归纳出一个中心论点。

    • 向上表达自己的想法: 

推荐书单汇总


多看书!

《专业主义》 
《重来》 
《精益创业》 
《写给大家看的设计书》 
《打造facebook》 
《您就是极客》 
《代码整洁之道》 
《精益创业》 
《黑客与画家》 
《卓有成效的管理者》 
《编程的本质》 
《图解HTTP》 
《高性能网站建设进阶指南》 
《从0到1:开启商业与未来的秘密》 
《代码的未来》 
《禅与摩托车维修艺术》 
《只是为了好玩:Linux之父林纳斯自传》 
《卓有成效的程序员》 
《软件随想录》 
《金字塔原理》 
《卓有成效的管理者》 
《安静:内向性格的竞争力》


文章转载自好奇驱动技术,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论