全栈开发 是什么?全栈开发 是什么?

 我来答
重庆新华电脑学校
2021-07-15 · 学动漫、设计、电竞、电商、短视频、软件等
重庆新华电脑学校
重庆新华电脑学校隶属于新华教育集团,经重庆市人力资源和社会保障局审批成立的重庆地区大规模IT人才教育基地。是国家信息化教育全国示范基地,中国IT教育十大影响力品牌学校。
向TA提问
展开全部

纯粹基于道德而掌握开发堆栈的每一方面的预期是合理的吗?可能不是,但Facebook这样要求。一个Facebook的员工在OSCON告诉我,Facebook只雇佣全栈开发者。那么全栈开发者是什么意思呢?

对我来说全栈开发者是对每一层都熟悉的人,如果不真正对所有的软件技术感兴趣不会对它们精通。

好的开发者熟悉整个堆栈,他们是知道如何使生活周边的事更容易的人。这就是为什么在办公室我如此反对偏执的原因,当然,政治及沟通挑战在大型组织中还是按固有的套路。我认为Facebook所持有的招聘政策是:如果聪明的人用脑用心,就能在更短的时间内构件更好的产品。


全栈的层:

1.服务器、网络和服务器环境

  • 知道哪里可能崩了和为什么会崩,没有什么是理所当然的。

  • 适当的使用文件系统,云存储、网络资源,必须具备数据冗余和可用性的概念。

  • 知道应用的伸缩性对硬件的需求。

  • 什么是多线程和竞争条件?想想看,在开发机上你可能看不到这些,但是现实环境中它们就是会发生。

  • 全栈coder还要能与运维并肩作战。提供有价值的错误信息和日志。确保它们是可靠的,因为运维会在你之前看到这些东西。(原文为DevOps)

  • 2.数据建模

  • 如果数据模型有缺陷,业务逻辑和上层逻辑就要用奇怪的代码(很丑)来弥补数据模型的缺陷。

  • 全栈开发者要能够建立合理的、标准的关系模型,包括外键、索引、视图、查找表等。

  • 全栈开发者要熟悉非关系型数据存储(应该指的不止是NoSQL),并且知道它们相对关系型存储优势所在。

  • 3,业务逻辑

  • 应用提供的核心价值。

  • 可靠的面向对象技能。

  • 可能会用到的框架。

  • 4,API层、Action 层、MVC

  • 理解外部对数据模型和业务逻辑的操作。

  • 该层会有很多框架应用。

  • 全栈开发者要具备编写清晰、一致和易用的接口。过高的复杂度让人厌恶。

  • 5,UI

  • 全栈coder:a)知道如何创建可读的页面布局;b)或者明白自己需要帮助设计师。A或B,关键是要能有好的视觉设计。

  • 掌握HTML5和CSS。

  • JS正在逐步成为语言新锐,Javascript的世界里已经完成了很多激动人心的工作(node, backbone, knockout...)。

  • 6.用户体验

  • 全栈coder要知道用户需要的就是It works!

  • 一个好的系统不会废了用户的手腕和眼睛。一个全栈coder会发现和审视需要8次点击、3步操作的流程,并最终把它一键搞定。

  • 提供有价值的错误信息。如果崩溃了,就要向用户致歉。有时候程序员会写出让用户自我感觉很二的错误信息。

  • 7.知道用户和业务到底要什么

  • 现在我们模糊了架构的界限,但却可能远离了实际需求。

  • 全栈coder要明确知道用户使用软件时的场景,而且要领会业务。

  • 关于这个问题的其它方面:

  • 编写高质量的单元测试能力。顺便说一下现如今连JS也可以做单元测试了。

  • 持续集成。发掘程序构建中重复、可自动化的流程,在一定程度上自动完成测试、文档和部署。

  • 对安全性的敏感,不同的层都可能有自己的脆弱点。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式