成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

如何成為專業(yè)的PHP開發(fā)者

617035918 / 1069人閱讀

摘要:如何才能成為一名專業(yè)的開發(fā)者資深開發(fā)者在其博客上分享了一些心得。要想成為一個(gè)專業(yè)的程序員,首先要成為一個(gè)中級程序員。永遠(yuǎn)不要低估陪伴的力量結(jié)論當(dāng)你專注于實(shí)踐上面所提到各種方法的時(shí)候,你就在成為專業(yè)開發(fā)者的路上。

如何才能成為一名專業(yè)的PHP開發(fā)者?資深Web開發(fā)者Bruno Skvorc在其博客上分享了一些心得。

當(dāng)閱讀各種和PHP相關(guān)的博客、Quora問題、Google+社區(qū)、資訊和雜志的時(shí)候,Bruno Skvorc注意到討論的問題出現(xiàn)了兩極分化的現(xiàn)象。例如“我如何連接到一個(gè)MySQL數(shù)據(jù)庫?”,或者是“在不增加服務(wù)器的前提下,我如何使得郵件系統(tǒng)能夠每小時(shí)發(fā)送超過一百萬份電子郵件?”

Bruno Skvorc根據(jù)對PHP的使用能力將應(yīng)用者分為四類:初級、中級、專業(yè)和精英。

兩極

在PHP語言中,初級用戶會用一些變量、includes、表單處理,等等。還會學(xué)一些簡單的邏輯結(jié)構(gòu)。借助教程他們能用PHP發(fā)郵件,甚至他們可能接觸到一些面向?qū)ο缶幊痰睦樱?dāng)然他們不一定理解背后的原理。他們使用WordPress,修改一些CSS類。他們憑著這些知識去申請工作,然后很不幸地被拒了。

PHP專業(yè)用戶能讓很多項(xiàng)目煥發(fā)生機(jī)。他們使用眾多框架開發(fā)商業(yè)應(yīng)用,高效地使用各種不同的數(shù)據(jù)庫,參加各種研討會,學(xué)習(xí)各種設(shè)計(jì)模式,很輕松地開發(fā)出一個(gè)完整的項(xiàng)目——從流程設(shè)計(jì)到最后運(yùn)行。他們早已不再使用過程式編程范式了。

精英程序員就是傳說中經(jīng)過10000+小時(shí)磨練的專業(yè)人士,自己編寫擴(kuò)展來擴(kuò)充自己部署的PHP的功能,只要粗略地瀏覽一下源文件就能抓出bug,對代碼布局極為講究,只認(rèn)可極為復(fù)雜的項(xiàng)目,在別人還沒察覺之前就找到解決問題的創(chuàng)造性的替代方案。他們還會寫一些暢銷的關(guān)于PHP語言的書籍,在大量研討會上發(fā)言,甚至創(chuàng)建一個(gè)屬于自己的PHP分支或者一兩個(gè)非常成功的框架。

那么,那些中級用戶在哪里?

缺失的一環(huán)

一個(gè)程序員如何從初級升到專業(yè)級甚至更高?如果一個(gè)人只會基礎(chǔ)的編程知識,他如何提升自己的技能,舍棄糟糕的實(shí)踐,使用高級的方式實(shí)踐呢?初學(xué)者經(jīng)常問Bruno Skvorc這個(gè)問題。要想成為一個(gè)專業(yè)的程序員,首先要成為一個(gè)中級PHP程序員。

接下來的列表指出了流暢地使用PHP需要注意的一些方面:

放棄意大利面式代碼

很多人認(rèn)為使用類就意味著是在編寫面向?qū)ο蟮拇a,而使用函數(shù)就意味著是在編寫過程式代碼。大錯(cuò)特錯(cuò)!讓我們復(fù)習(xí)一下廣泛意義上的定義:過程式代碼就是不使用類和對象的代碼,面向?qū)ο蟮拇a就是盡可能多地使用類和對象。

Bruno Skvorc的建議是完全放棄過程式代碼。盡可能多地采用面向?qū)ο箫L(fēng)格——編寫類,封裝邏輯,考慮真實(shí)世界的術(shù)語??紤]到可復(fù)用性,過程式代碼相對于基于類的代碼的性能優(yōu)勢微不足道。適當(dāng)?shù)腛OP代碼可以讓未來的開發(fā)者接手你的項(xiàng)目。通常人們會這么反駁:“但是,WordPress可是過程式的!”老實(shí)說(也許不好聽),如果WordPress的開發(fā)者是PHP開發(fā)者的話,那Instagram的開發(fā)者可就是攝影師了。這并不意味著WP沒什么用——對于博客、簡單的網(wǎng)站和一天項(xiàng)目而言,WP很棒。用WP能很快地賺些小錢,對不太懂技術(shù)的用戶而言也很好用。但是精通WP絕不意味著你是一個(gè)專業(yè)的PHP開發(fā)者——那就是一堆意大利面一樣的代碼,那些代碼可沒法教會你合理的設(shè)計(jì)原則。

從小事做起。思考現(xiàn)實(shí)世界的概念,嘗試用面向?qū)ο蟮拇a表達(dá)它們。學(xué)習(xí)一些基本的教程,再慢慢向高級方向發(fā)展。練習(xí)面向?qū)ο缶幊讨钡侥阏嬲斫忸?。在此之前,不要急著去學(xué)習(xí)各種框架,以及 MVC 之類的抽象術(shù)語。

鉆研現(xiàn)有項(xiàng)目

不管你是在哪里看到的源代碼,都要仔細(xì)鉆研。例如,在Github里查找PHP項(xiàng)目,克隆下來,部署在自己的機(jī)器上,嘗試加以修改。一個(gè)文件接著一個(gè)文件,一行代碼接著一行代碼,直到你真正理解它們的意義。

學(xué)習(xí)搭建的PHP環(huán)境

搭建PHP環(huán)境也是一項(xiàng)寶貴的技能。這不僅允許你調(diào)整優(yōu)化自己的配置,還可以讓你熟悉如何通過源碼構(gòu)建插件。

別用Windows開發(fā)——如果你的主要桌面是Windows,你需要安裝一個(gè)虛擬機(jī)軟件,然后運(yùn)行一個(gè)Linux虛擬機(jī)——Windows的大小寫敏感,行結(jié)尾,和大多數(shù)服務(wù)器環(huán)境不同的怪異之處,都會給你造成麻煩。所以最好在一個(gè)和服務(wù)器相似的環(huán)境下開發(fā)。

虛擬機(jī)也有利于實(shí)驗(yàn)——如果出現(xiàn)了問題,你可以重新開始或者回滾一下。你也可以盡情實(shí)驗(yàn),而不用擔(dān)心把一切搞砸。掌握工具的使用方法是很重要的,但有一個(gè)好的工作平臺也同樣重要。

用你自己搭建的環(huán)境做實(shí)驗(yàn)也可以讓你熟悉不同的服務(wù)器——該用Nginx還是Apache,或者使用Appserver,等等。

盡早應(yīng)用最佳實(shí)踐

在編寫自己代碼的時(shí)候,要確保詳細(xì)注釋、完美縮進(jìn)、仔細(xì)架構(gòu)。在構(gòu)建一個(gè)類、項(xiàng)目和庫之后,使用知名的的文檔工具(PHPDocumentor、ApiGen)來提取文檔,并在此基礎(chǔ)上加以改進(jìn)。

一個(gè)好的IDE是很寶貴的,熟悉一個(gè)跨平臺的編輯器有利于你在架設(shè)新環(huán)境后馬上進(jìn)入代碼,而不是把時(shí)間浪費(fèi)在設(shè)置鍵盤快捷鍵和主題上。確保你將IDE配置文件保存在云端,(例如Google Drive),這樣即使你新安裝了系統(tǒng),你也可以很方便地導(dǎo)入它們。Bruno Skvorc推薦PHPStorm和Netbeans這兩個(gè)跨平臺的IDE,后者是免費(fèi)的。

早一點(diǎn)適應(yīng)最佳實(shí)踐能夠幫助你在項(xiàng)目進(jìn)程里保持一致,更有助于別人流利地閱讀你的代碼。找到你的風(fēng)格并堅(jiān)持下去——這對你自己和別人都有好處。盡可能嚴(yán)格遵循PSR標(biāo)準(zhǔn)(PSR-0、PSR-1、PSR-2、PSR-3)。標(biāo)準(zhǔn)可不是徒有虛名。大部分人遵循這些標(biāo)準(zhǔn),喜愛這些標(biāo)準(zhǔn),因?yàn)樗鼈冊黾恿嗣總€(gè)人的代碼的可復(fù)用性和可讀性。

對于初學(xué)者來說,PHP之道是一個(gè)非常有用的資源,提供及時(shí)的指引。通過此書,你可以熟悉最新的最佳實(shí)踐,面向?qū)ο蟮幕靖拍?,安全,部署,代碼標(biāo)準(zhǔn),等等。

嘗試不同的框架后做出選擇

很久以來,PHP是一個(gè)具備最多框架的編程語言(JavaScript最近已經(jīng)趕上了)。很難說這到底是意味著社區(qū)的分裂還是語言的流行。但事實(shí)是,選擇一款框架是一個(gè)很糾結(jié)的事情,尤其是在剛開始的時(shí)候。

試用了大多數(shù)框架之后,Bruno Skvorc推薦穩(wěn)定優(yōu)質(zhì)的Phalcon框架。其實(shí)Phalcon是用C語言編寫的,可以當(dāng)作PHP擴(kuò)展安裝,因此比現(xiàn)存的框架都要快。無論如何,嘗試使用不同的框架絕對是很有必要的。

當(dāng)你嘗試不同框架的時(shí)候,你每次都能學(xué)到解決常見問題的新方式。每個(gè)框架都有自己的特性和坑,但是最重要的是,你能學(xué)到別人(主要是框架開發(fā)者)的思路。你將接觸新的用法和方式,用所有你能找到的框架重構(gòu)你的項(xiàng)目是一個(gè)非常好的練習(xí)。這將幫助你有效地衡量某個(gè)特定框架的效率:開發(fā)的速度和性能。

閱讀

千萬不要忽略別人給你的提示和小建議。盡可能多地閱讀。訂閱好的博客,閱讀網(wǎng)站上的教程,在StackOverflow上面閱覽問答,訂閱郵件列表,關(guān)注Google+上的優(yōu)質(zhì)資源。但是要避免PHP基礎(chǔ)教程類的書本,它們很快就會過時(shí)。相反,要關(guān)注網(wǎng)上有用的、最新的代碼片段和教程。即使是已經(jīng)接觸過的主題也可以再讀一遍,常常能從別人的觀點(diǎn)里領(lǐng)悟出新的想法。

如果沒有工作,那就發(fā)明一些出來

有事情可做。永遠(yuǎn)別對自己說:“我沒有一個(gè)項(xiàng)目?!备鼊e對自己說:“我很無聊?!比绻阏也坏绞裁错?xiàng)目做,那就開一個(gè)新的。你是不是因?yàn)樘焯焓褂玫墓ぞ呷狈δ硞€(gè)功能而沮喪?做一個(gè)更好的替代品!沒有新產(chǎn)品的創(chuàng)意?那就重復(fù)已有的創(chuàng)意——嘗試重建一個(gè)基本的facebook,重新創(chuàng)建一些你已知的項(xiàng)目來練手。

最重要的是永遠(yuǎn)別?!绻阃O铝?,就不會有驚人的一萬小時(shí)了!持續(xù)地工作,維持自己的興趣,持續(xù)投入。做一個(gè)簡單的地址薄應(yīng)用。然后用別的框架重構(gòu)一下。然后再換個(gè)數(shù)據(jù)庫(比如將 MariaDB 換成 Mongo)。保持忙碌!

找一個(gè)伙伴或者指導(dǎo)者

和人合作學(xué)習(xí)起來更容易。尋找一個(gè)和你一樣有激情的伙伴。也許你是少數(shù)好運(yùn)氣的人,能找到一個(gè)能和你分享極客興趣的伙伴。也許你在學(xué)校里,能找到一個(gè)想開始學(xué)習(xí)也需要伙伴的同伴。你甚至可以找一個(gè)指導(dǎo)者,接受一些專業(yè)指導(dǎo)。

永遠(yuǎn)不要低估陪伴的力量!

結(jié)論

當(dāng)你專注于實(shí)踐上面所提到各種方法的時(shí)候,你就在成為PHP專業(yè)開發(fā)者的路上。堅(jiān)持原則,永不放棄(即使周圍的人放棄了),持續(xù)練習(xí)。

原文 ecoming a PHP Professional: The Missing Link

編譯 SegmentFault

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/20625.html

相關(guān)文章

  • 成為一個(gè)PHP專家:缺失環(huán)節(jié)

    摘要:為了成為一個(gè)專家,他必須先成為中級者。它非常適合于急于求成或者沒有太多技術(shù)的人,但掌握絕對無法使你成為一個(gè)專業(yè)的開發(fā)者它使用意大利面條式的編碼,教你的是不合適的設(shè)計(jì)原則。 這一篇文章是Becoming a PHP Professional系列 4 篇博文中的第 1 篇。 當(dāng)瀏覽各類與PHP相關(guān)的博客時(shí),比如Quora上的問題,谷歌群組,簡訊和雜志,我經(jīng)常注意到技能的等級分化。問題都類...

    cooxer 評論0 收藏0
  • php資料集

    摘要:簡單字符串緩存實(shí)戰(zhàn)完整實(shí)戰(zhàn)種設(shè)計(jì)模式設(shè)計(jì)模式是面向?qū)ο蟮淖罴褜?shí)踐成為專業(yè)程序員路上用到的各種優(yōu)秀資料神器及框架成為一名專業(yè)程序員的道路上,需要堅(jiān)持練習(xí)學(xué)習(xí)與積累,技術(shù)方面既要有一定的廣度,更要有自己的深度。 微型新聞系統(tǒng)的開發(fā)(PHP 5.4 + MySQL 5.5) 微型新聞系統(tǒng)的開發(fā)(PHP 5.4 + MySQL 5.5) 九個(gè)很有用的 PHP 代碼 php 代碼 國內(nèi)值得關(guān)注的...

    RobinQu 評論0 收藏0
  • PHP程序員學(xué)習(xí)路線

    摘要:第一階段基礎(chǔ)階段基礎(chǔ)程序員重點(diǎn)把搞熟練核心是安裝配置基本操作目標(biāo)能夠完成基本的系統(tǒng)安裝,簡單配置維護(hù)能夠做基本的簡單系統(tǒng)的開發(fā)能夠在中型系統(tǒng)中支持某個(gè)功能模塊的開發(fā)。本項(xiàng)不做重點(diǎn)學(xué)習(xí),除非對前端有興趣。 第一階段:基礎(chǔ)階段(基礎(chǔ)PHP程序員) 重點(diǎn):把LNMP搞熟練(核心是安裝配置基本操作) 目標(biāo):能夠完成基本的LNMP系統(tǒng)安裝,簡單配置維護(hù);能夠做基本的簡單系統(tǒng)的PHP開發(fā);能夠在P...

    genedna 評論0 收藏0
  • 如何成為一名優(yōu)秀web前端工程師(前端攻城師)?

    摘要:我從沒有聽到有人問如何做一名優(yōu)秀甚至卓越的前端工程師。作為一個(gè)優(yōu)秀的前端工程師還需要深入了解以及學(xué)會處理的這些缺陷。再者,優(yōu)秀的前端工程師需要具備良好的溝通能力,因?yàn)榍岸斯こ處熤辽俣家獫M足四類客戶的需求。   我所遇到的前端程序員分兩種:   第一種一直在問:如何學(xué)習(xí)前端?   第二種總說:前端很簡單,就那么一點(diǎn)東西。   我從沒有聽到有人問:如何做一名優(yōu)秀、甚至卓越的WEB前端工程師...

    Turbo 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<