前端工程师应该具备的三种思维_PHP教程
前端工程师应该具备的三种思维
编者按:本文通过逻辑思维,商业思维,设计思维三种维度来匹配你是否一位合格的前端工程师。因为前端工程师不仅仅是负责接资料,捞数据,做个回应等这些杂事,他们应该更加需要去跟后端工程师、设计、PM进行沟通。所以,团队合作,协调配合等等都需要考虑代码以外更多的事情。
如果你是一个天才工程师马上可以离开),可以独立完成一个很多事情,你可以是一个怪咖,因为我相信没有一个人不会不佩服你。但现实归现实,多数人都不是天才,而我们在职场上也不是单打独斗,我们需要团队合作,需要协调和配合,需要考虑除了代码以外的更多事情。
前端工程师,也不仅仅只是负责接资料,捞数据,做个回应。当然只做这些也并没有不对,但我们需要和后端工程师沟通,我们也需要和设计沟通,也需要和 PM 沟通,怎么做才是对这三方都比较有好处?
逻辑思维
在开始写某一段代码的时候,想一下它会用在哪里,会重复用吗? 它以后会不会变,如果会变,那可以怎样变?一般网页结构的变化,虽然有很多但是也有一个根据,这个根据就是可以预先估计好的。没有一个案子,是不会「不改」的,很多时候你都是要一边做一边改,甚至可能会来个乾坤大挪移。当真的需要发生变动和修改的时候,你有什么对策?这些都是需要想好,并且建立在一个逻辑上。
通常专业的设计师,设计一个网页的元素都是同质性很高,等比或对比的,所以代码按理也是可以重复用的。所以为何你要学会用 CSS preprocessor (Sass,stylus,less),写一个 Mixin 或一个变量,一开始用你会觉得很麻烦,但是用了你就回不去了,不但提高你的效率还提高了你的准确率。
工程师的世界就如武林,大家都各自修炼,每天都有新的祕籍,大家都很好奇跑去修炼一下,希望有天成为武林高手。这也是提升你见识和专业的潜动力,如果你没有好奇心,看的和懂得东西太少,逻辑自然不会跟上时代。要保持不断的学习,来磨练自己的逻辑思维。
逻辑思维某程度,就是你的程序专业能力,除了能写出来还要可维护,可阅读。当事情建立在一个很好的逻辑上,那么出错几率就会比较低,和你工作的人也会比较愉快。
可以把一件事做的很好,那是师傅;可以把一件事做好和预测未来的事,那才是专家。
商业思维
PM、老板或者客户,都会问你,「你需要多少时间」,如果说的太短,可能会做不完;如果说的太长,也不可能,这是一个怎么回答怎么死的问题。有时候,需要换一个立场,站在第三方的角度思考。我们的完成度,和他们的完成度可能是不一样的。
我们把案子的细节分成两种情况,一种是你已经有经验,可以预估时间的;一种是你没有做过或你很陌生的,你没有时间估计的基础。
那么提出一个,他们可以最低接受的标准,例如一个 App 网站,最低标准需要一个首页,和一个链接去下载 app 的 2 个按钮,这些都是可以预估的。而剩下的,你需要 Research 一下,之后再给一个比较有根据的时间。估计一个案子需要多少时间做完,是非常非常的重要,因为你消耗的是一组人的时间,不是你自己的除非你自己一个人做,或者你是老板)。如果你估算错了,后面就会延期,做不出来没有很大的关系,最重要是把问题解决,提出你的解决方法,什么样的方法才可以达到解决问题的目的。
换一个立场提出解决方案,对事情是有帮助的,对公司或客户是有帮助的,客户不会在乎你解决不了手机网页看不到 20 个栏位的 table 那个问题,但是客户很乐意听你说,这样的 Table 不好看,可以换一个显示的方法。客户也不太在意你是用 Rails 还是 php有些是很在意,他们假装他们懂),可以购物和发文就好。
前端工程师可能很容易接触到客户的投诉,所以有些东西没有想好,就会很麻烦。做个网站,换作你是网友或客户,你会满意你自己做的网站吗?
设计思维
很多时候,前端工程师本身也是设计师,但是也有很多是本身是前端工程师也是后端工程师,设计和前端是分割不开的。当然我这里说的设计,不是真的要你弄一个画面或完整的设计图。
It’s not just what it looks like and feels like. Design is how it works. —Steve Jobs
前端的设计是指一个画面或元素,如何被执行和创造,移动或消除,这个设计在不同的宽度和高度,不同的装置看,效果是怎样,考虑进去就是你的设计思维,怎么把设计师的画面弄成一个活生生的网页,要用设计师的角度去思考,才能有办法把设计图的概念充分的表达出来。
话说早前,收到一个「设计图」,上面有一个「X」,我问客户这是什么,他说是「回上一页」,为何回上一页是「X」,这不是一个 popup 也不是一个 modal,同时这个图上还有很多不同颜色和大小的「X」,分别代表了「删除」、「关闭」、「滑下」,这是一个不太合理的设计。
设计的思维,会直接影响你写的代码结构和网页结构,因为你看不出设计的重点在哪里,怎么写才可以达到设计师要求的效果,你没有办法好好的组织你的结构和元素,就无法好好把网页拼凑出来。这不但大大降低了你的效率,做出来的东西也不会一致。可能一个网站,就出现几种本该一样,结果「很像」但是不一样的按钮,因为你用了几个 class 和不同结构来做。你一开始就没有好好思考设计。
你可以做什么
-
没事要练功,FB 逛几分钟就好,不需要留恋太久。
-
做好一个网站,自己玩一下,给你朋友玩一下,问一下他们的意见?多问几个。
-
多看设计图,看思考一下你会怎么做。
本文出自:kimix 的博客

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

前端工程师的主要职责包括网页开发、交互设计、前端逻辑开发、响应式设计、性能优化、与后端对接、浏览器兼容性、版本控制和协作,以及跟踪新技术。前端工程师致力于创建用户体验良好且性能卓越的网页。

前端工程师职责解析:主要做什么工作?随着互联网的快速发展,前端工程师作为一个非常重要的职业角色,扮演着连接用户与网站应用程序的桥梁,起着至关重要的作用。那么,前端工程师主要做些什么工作呢?本文将对前端工程师的职责进行解析,让我们来一探究竟。一、前端工程师的基本职责网站开发与维护:前端工程师负责网站的前端开发工作,包括编写网站的HTML、CSS和JavaScr

Java工程师职责:1、Java工程师负责分析和理解客户或公司的需求,并根据这些需求设计软件解决方案,需要与客户或团队成员进行沟通,确保理解需求的准确性和完整性;2、Java工程师需要熟悉和掌握各种Java开发工具和框架;3、Java工程师还需要熟悉数据库管理系统,如MySQL、Oracle或SQL Server等;4、在开发过程中,Java工程师需要进行系统测试和调试等等。

你有兴趣成为一名MLOps工程师吗?今天详细了解MLOps工程师角色。所以已经建立了一个机器学习模型。它在验证数据集上达到了预期的性能。很高兴能够应用数据科学和机器学习技能来构建此模型。但是,意识到该模型在Jupyternotebook中在本地计算机上运行良好(目前)并不是很有帮助。为了让用户从模型中受益并让企业利用机器学习,必须将模型部署到生产环境中。然而,部署和维护机器学习模型并非没有挑战。在开发环境中表现良好的模型在生产环境中可能会惨败。这可能是由于数据和概念漂移以及其他导致性能下降的因素

Java工程师的日常工作是怎样的?随着互联网的快速发展,软件工程师成为了一个热门职业。而Java工程师作为最主要的开发语言之一,也成为了许多IT从业者的首选。那么,作为Java工程师,他们的日常工作是怎样的呢?首先,Java工程师的主要工作是开发和维护Java语言相关的软件系统和应用。他们通常会参与到软件开发的整个生命周期中,从需求分析与讨论、系统设计、编码

3月11日,国际领先的AI数据技术公司星尘数据(StardustAI)在北京举办2024年春季产品发布会,重磅推出MorningStar,一款面向AI的数据闭环产品。MorningStar是首款专注数据价值发现的AI数据平台,相较于传统的数据管理工具,这款理念先进、操作便捷、功能丰富的AI数据发现、管理、协作、迭代平台,专为发现数据价值,加速模型迭代,解决AI数据债问题打造,能够支撑企业Al数据高效迭代的关键环节,避免数据债风险积聚、低价值数据成本浪费、模型训练与应用效果反馈链长等问题。▲Mor

前端工程师是否适合学习Go语言?随着互联网技术的不断发展,前端工程师已经不再局限于各种前端框架和工具的使用,更多的时候需要与后端进行接口对接和数据交互。在这种情况下,前端工程师学习一门后端语言是非常有帮助的,而Go语言作为一门快速、可靠、高效的后端语言,是否适合前端工程师学习呢?接下来,我们就来探讨一下。为什么前端工程师应该学习Go语言呢?首先,Go语言是一

Java工程师必掌握:如何利用百度AI接口实现智能人脸验证系统引言:随着人工智能技术的快速发展,人脸识别作为一种重要的生物特征识别技术,被广泛应用在各行各业中。百度AI接口提供了强大而易用的人脸识别能力,使得开发者能够快速实现智能人脸验证系统。本文将介绍如何使用Java语言结合百度AI接口实现一个简单而强大的智能人脸验证系统,以帮助Java工程师更好地掌握这
