编者按:本文通过逻辑思维,商业思维,设计思维三种维度来匹配你是否一位合格的前端工程师。因为前端工程师不仅仅是负责接资料,捞数据,做个回应等这些杂事,他们应该更加需要去跟后端工程师、设计、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 的博客

PHP在電子商務、內容管理系統和API開發中廣泛應用。 1)電子商務:用於購物車功能和支付處理。 2)內容管理系統:用於動態內容生成和用戶管理。 3)API開發:用於RESTfulAPI開發和API安全性。通過性能優化和最佳實踐,PHP應用的效率和可維護性得以提升。

PHP可以輕鬆創建互動網頁內容。 1)通過嵌入HTML動態生成內容,根據用戶輸入或數據庫數據實時展示。 2)處理表單提交並生成動態輸出,確保使用htmlspecialchars防XSS。 3)結合MySQL創建用戶註冊系統,使用password_hash和預處理語句增強安全性。掌握這些技巧將提升Web開發效率。

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

PHP仍然具有活力,其在現代編程領域中依然佔據重要地位。 1)PHP的簡單易學和強大社區支持使其在Web開發中廣泛應用;2)其靈活性和穩定性使其在處理Web表單、數據庫操作和文件處理等方面表現出色;3)PHP不斷進化和優化,適用於初學者和經驗豐富的開發者。

PHP在現代Web開發中仍然重要,尤其在內容管理和電子商務平台。 1)PHP擁有豐富的生態系統和強大框架支持,如Laravel和Symfony。 2)性能優化可通過OPcache和Nginx實現。 3)PHP8.0引入JIT編譯器,提升性能。 4)雲原生應用通過Docker和Kubernetes部署,提高靈活性和可擴展性。

PHP適合web開發,特別是在快速開發和處理動態內容方面表現出色,但不擅長數據科學和企業級應用。與Python相比,PHP在web開發中更具優勢,但在數據科學領域不如Python;與Java相比,PHP在企業級應用中表現較差,但在web開發中更靈活;與JavaScript相比,PHP在後端開發中更簡潔,但在前端開發中不如JavaScript。

PHP和Python各有優勢,適合不同場景。 1.PHP適用於web開發,提供內置web服務器和豐富函數庫。 2.Python適合數據科學和機器學習,語法簡潔且有強大標準庫。選擇時應根據項目需求決定。

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Dreamweaver CS6
視覺化網頁開發工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。