前端工程师应该具备的三种思维_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 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









フロントエンド エンジニアの主な責任には、Web 開発、インタラクション デザイン、フロントエンド ロジック開発、レスポンシブ デザイン、パフォーマンスの最適化、バックエンドとのドッキング、ブラウザーの互換性、バージョン管理とコラボレーション、新しいテクノロジーの追跡が含まれます。フロントエンド エンジニアは、優れたユーザー エクスペリエンスと優れたパフォーマンスを提供する Web ページの作成に取り組んでいます。

Java エンジニアの責任: 1. Java エンジニアは、顧客または企業のニーズを分析および理解し、これらのニーズに基づいてソフトウェア ソリューションを設計する責任があり、要件の理解の正確さと完全性を確保するために顧客またはチーム メンバーとコミュニケーションをとる必要があります。 2. Java エンジニア さまざまな Java 開発ツールやフレームワークに精通しており、習得している必要があります; 3. Java エンジニアは、MySQL、Oracle、SQL Server などのデータベース管理システムにも精通している必要があります; 4. 開発プロセス中、Javaエンジニアはシステムのテストやデバッグなどを行う必要があります。

フロントエンドエンジニアの責任分析:主な仕事は何ですか?インターネットの急速な発展に伴い、フロントエンドエンジニアは非常に重要な専門的役割を果たし、ユーザーとWebサイトアプリケーションの間の橋渡しとして重要な役割を果たします。では、フロントエンドエンジニアは主に何をするのでしょうか?この記事では、フロントエンド エンジニアの責任を分析して調べてみましょう。 1. フロントエンド エンジニアの基本的な責任 Web サイトの開発と保守: フロントエンド エンジニアは、Web サイトの HTML、CSS、JavaScr の作成など、Web サイトのフロントエンド開発を担当します。

MLOps エンジニアになることに興味がありますか? MLOps エンジニアの役割について詳しくは、今すぐご覧ください。これで機械学習モデルが構築されました。検証データセットで期待されるパフォーマンスを達成します。このモデルを構築するためにデータ サイエンスと機械学習のスキルを適用できたことはとてもうれしかったです。ただし、モデルが Jupyternotebook のローカル マシン上で (まだ) 正常に動作することを認識しても、あまり役に立ちません。ユーザーがモデルのメリットを享受し、企業が機械学習を活用するには、モデルを実稼働環境にデプロイする必要があります。ただし、機械学習モデルの導入と維持には課題がないわけではありません。開発環境では良好なパフォーマンスを発揮するモデルでも、実稼働環境では悲惨な結果を招く可能性があります。これは、データとコンセプトのドリフト、およびパフォーマンス低下を引き起こすその他の要因が原因である可能性があります。

Javaエンジニアの日常業務は何ですか?インターネットの急速な発展に伴い、ソフトウェア エンジニアは人気のある職業になりました。 Java エンジニアは、最も重要な開発言語の 1 つとして、多くの IT 実務者の第一候補となっています。では、Java エンジニアとしての彼らの毎日の仕事はどのようなものなのでしょうか?まず、Java エンジニアの主な仕事は、Java 言語関連のソフトウェア システムとアプリケーションを開発および保守することです。彼らは通常、要件の分析と議論、システム設計、コーディングに至るまで、ソフトウェア開発のライフサイクル全体に参加します。

Go言語開発エンジニア必読:大手企業の採用状況を総まとめ!インターネット業界の急速な発展に伴い、Go 言語は効率的で安定した使いやすいプログラミング言語として、企業でますます支持されています。多くの大手インターネット企業が Go 言語開発エンジニアの採用を開始していますが、この分野に携わろうとする開発者が市場の需要をよりよく理解するために、この記事ではいくつかの有名企業の採用状況を紹介します。 Tencent Technology: 中国で最も影響力のあるテクノロジー巨人の 1 つとして、Tencent は技術チームを継続的に拡大してきました。

フロントエンドエンジニアがGo言語を学ぶのは適していますか?インターネット テクノロジーの継続的な発展に伴い、フロントエンド エンジニアは、さまざまなフロントエンド フレームワークやツールの使用に制限されなくなり、バックエンドとのインターフェースやデータの操作が必要になることが多くなりました。この場合、フロントエンド エンジニアがバックエンド言語を学ぶことは非常に役立ちますが、高速で信頼性が高く効率的なバックエンド言語として、Go 言語はフロントエンド エンジニアの学習に適していますか?次に、それについて話し合いましょう。なぜフロントエンドエンジニアはGo言語を学ぶ必要があるのでしょうか?まず、Go 言語は

3月11日、国際的なAIデータテクノロジー大手のStardustAIは、北京で2024年春の製品発表カンファレンスを開催し、AI向けのデータクローズドループ製品であるMorningStarを発表した。 MorningStar は、データ価値の発見に焦点を当てた初の AI データ プラットフォームであり、従来のデータ管理ツールと比較して、先進的なコンセプト、簡単な操作、豊富な機能を備えたこの AI データ発見、管理、コラボレーション、反復プラットフォームは、データ価値の発見を目的として設計されています。モデルの反復を行い、AI データ負債の問題を解決します。この作成により、エンタープライズ AI データの効率的な反復の重要なリンクをサポートし、データ負債リスクの蓄積、低価値のデータ コストの無駄、モデル トレーニングの長いフィードバック チェーンなどの問題を回避できます。や応用効果など。 ▲モル
