<blockquote id="cyyyc"></blockquote>
  • <table id="cyyyc"><option id="cyyyc"></option></table>
  • <table id="cyyyc"><option id="cyyyc"></option></table>
  • <table id="cyyyc"></table>
  • <noscript id="cyyyc"></noscript>
  • <td id="cyyyc"></td>
  • <table id="cyyyc"><noscript id="cyyyc"></noscript></table>
  • <noscript id="cyyyc"></noscript>
  • <bdo id="cyyyc"><noscript id="cyyyc"></noscript></bdo>
  • <td id="cyyyc"></td>
  • <noscript id="cyyyc"><source id="cyyyc"></source></noscript>
  • <noscript id="cyyyc"><source id="cyyyc"></source></noscript>
  • <option id="cyyyc"><kbd id="cyyyc"></kbd></option>
    <td id="cyyyc"><option id="cyyyc"></option></td>
  • <td id="cyyyc"><option id="cyyyc"></option></td>
  • <table id="cyyyc"></table>
    <table id="cyyyc"><option id="cyyyc"></option></table>
    <table id="cyyyc"></table>
  • <option id="cyyyc"></option>
  • <table id="cyyyc"></table>
  • <td id="cyyyc"><option id="cyyyc"></option></td>
    <td id="cyyyc"><kbd id="cyyyc"></kbd></td>
  • 編程要不要美

    編程要不要美

    在《GAE 添加 PHP 支持引發的一波討論》中,有篇挺 PHP 的文章,第四部分,作者提出了:編程不一定要美(因為 PHP 被詬病的原因之一就是很多 PHP 代碼是丑陋的)。

    先翻譯出來,再說說我的觀點。
    翻譯開始 {
    多年前,我開始看到人們贊美 RoR(Ruby On Rails),相對于使用 Java 或 PHP 這些語言,他們認為 RoR 是 Web 應用開發的最佳選擇。
    我看到在 RoR 創建者 David Heinemeier Hansson 的一些言論中,他在推行這樣一個概念:編程必須要美。我想知道這是什么意思,是指代碼風格么?還是指項目架構?還是指開發方法學?或者其他?
    可能我沒抓住要點,但我會這樣設想:RoR 在推行一種開發方法學,作為一種正確和多產的方式。如果你不離開 Rails 平臺,你的“火車”可以行駛得飛快。
    但在我看來,持續地使用一種開發方法學并不依賴于你使用哪種開發語言或者框架。我使用同樣的方法學開發 PHP 項目很多年了。我覺得自己是多產的,因為我也是一貫遵循同樣的方法學。我開發項目相當的快,因為工作已趨于機械化??雌饋?,RoR 給那些沒有方法學可遵循的同學的 Web 項目開發帶來了一致性。
    但是,遵循方法學的開發并不一定要基于 RoR,也不需要基于 Ruby。在 PHP 中也同樣可以,你可以選擇使用一個類似的框架或者不用也可以。事實上,現在出現的很多 PHP 框架都從 RoR 中學習引進了一些東西。
    RoR 也從 PHP 中引進了些東西。例如,已經整合到 RoR 項目中的 ERB 模板系統,其實這就是一套模板解析機制,在 PHP 中早就有了。
    有些人還布道說,你不能將代碼和 HTML 模板混在一起,如果那樣,就是丑陋的,在你死后你會被打入地獄的。所以,我猜 RoR 的同學也會同意:編程不一定要美。

    還有一件被人們認為丑陋的事情是,在應用中使用全局代碼而不是用類封裝。好吧,你看看 WordPress 的源代碼,你會看到遍地的全局代碼。我寫過一篇為什么《用類組織你的代碼》比使用全局代碼要好,但也不是一種強制性的規則。全局代碼并不美,但它能工作,PHP 允許它的存在,很多開發者還在使用它,還靠它謀生。
    } 翻譯結束。



    下面是我的觀點。
    一、作者提及的幾個事實:

    1、確切的說,RoR 是指一套開發框架,而 PHP 是指一門腳本語言,但在文章中,大家應該都能看出,作者是在比較兩個開發平臺(或者說環境、生態)。

    2、RoR 推行了一套開發方法學,能提高生產力。這也是 RoR 流行的重要原因之一。

    3、PHP 因為誕生的早,使用廣泛,也遺留下來很多原始的特性;而 RoR 誕生在行業更加成熟的時期,是更先進的。解釋型語言很多方面可以互相學習,但 RoR 有更多值得 PHP 學習的地方。

    4、開發方法學等理論知識,都是跨語言的,這些知識比掌握一門語言語法更有價值。當然語言對理論的支持程度有高低,RoR 對開發方法學的支持應該不錯(我沒實踐過,此為揣測),而 PHP 中也有框架能支持,但框架太多,還得進行選擇。

    二、作者并沒有證明他的觀點:

    1、關于“美”的概念,RoR 創建者所指的“美”應該是:好的編碼風格、好項目的架構、等等(如作者所理解的),目的是為了能良好應對未來的變化。但是作者舉的例子中,HTML 模板和代碼不能混雜,這里的“美”的意思更偏向“完美”的硬性標準,概念變了,不能作為論據。

    2、WordPress 的成功,主要是市場上的成功,而不是技術上的。不管代碼美不美,我想 WordPress 都能成功,只要它抓住了市場的需求。所以,WordPress 的代碼并不能作為論據。

    3、作者在自己的文章《用類組織你的代碼》中也提倡讓代碼“美”些,為了應對將來的變化。所以擺明了是在反駁自己提出的觀點,除非他認為的“美”的意思是指完美。

    4、所以,我和作者的觀點一樣,都是:編程還是得美一點。

    三、題外話,學 PHP 還是 RoR:

    1、如果選擇 PHP

    能從零開始學習服務端 Web 開發,當你達到一定的精通程度(特別是熟悉一兩個主流 PHP 框架時),轉學 RoR 會很容易。寫一些原生的 PHP 腳本和 SQL 查詢語句,會幫助你理解 Web 應用的實現原理。

    2、如果選擇 RoR

    能馬上上手進行 Web 開發,能學習更先進的 Web 開發方法,高效,享用 RoR 帶來的豐富的工具(我沒實踐,人云亦云下)。等等。但是底層細節都被隱藏,對原理會比較模糊。

    3、Web 產業如何選擇

    現在,Python、Ruby 比起 PHP 更能滿足 Web 產業對技術的生產力的需求。雖然 PHP 也一直在進步,單元測試、包依賴管理等工具也早都有了,但還是沒有大面積應用起來。

    從 GAE 支持 PHP 這事看來,Google 還是承認了 PHP 的地位,也許是因為 PHP 的門檻確實低得小盆友都能進來了。

    4、我的理解是:學深了,都差不多。

    花一點時間,填寫您的服務需求獲取項目報價 展開
    也歡迎直接發送郵件到 fangfa@fangfa.net
    * 請認真填寫需求信息,我們會在24小時內與您取得聯系
    1.軟件開發及各類管理系統、平臺定制開發
    1.軟件開發及各類管理系統、平臺定制開發
    2.手機app應用及微信小程序定制開發
    3.網站建設,商城、分銷、響應式網站建設
    4.微網站、微商城、微分銷、h5定制開發
    姓       名
    在線聯系
    聯系電話
    郵       箱
    合作需求
    日日夜夜视频一二三区视频>>天天cao在线>>亚洲精品免费日日夜夜夜导航>>亚洲午夜国产