多個跡象顯示你還是PHP菜鳥
分類:php電子書查看:3111431下載:322
我願意把本文歸入我的「程式設計糗事」系列。儘管在正規大學課程中,接觸到軟體工程、企業級軟體架構和 資料庫設計,但我還是時不時地體會到下述事實帶給我的「罪惡」感,當然,都是我的主觀感受,並且面向Eclipse:

你是PHP菜鳥,如果你:

1. 不會利用如phpDoc這樣的工具來適當地註解你的程式碼

2. 對優秀的整合開發#環境如Zend Studio或Eclipse PDT視而不見

3. 從未用過任何形式的版本控制系統,如Subclipse

4. 不採用某種編碼與命名標準,以及通用約定,不能在專案開發週期中貫徹落實

5. 不使用統一開發方式

6. 不轉換(或)也不驗證某些輸入或SQL查詢串(譯註:參考PHP相關函數)

7. 不要在編碼之前徹底規劃你的程序

8. 不使用測試驅動開發

9. 不在錯誤開啟狀態下進行編碼與測試(譯註:參考PHP函數error_reporting)

10. 對調試器的好處視而不見

11. 不重構你的程式碼

12. 不使用類似MVC模式把程式的不同層次分割開

13. 不知道這些概念:KISS, DRY, MVC, OOP, REST

14. 不用return而是直接在你的函數或類別中輸出(echo/print)內容

15. 對單元測試或一般測試的優點視而不見

16. 總是傳回硬編碼的HTML,卻不回傳純粹的數據,字串,或對象

17. 總是對「訊息」和「配置參數」進行硬編碼

18. 不對SQL查詢語句做最佳化

19. 不使用__autoload(譯註:參考PHP手冊相關描述)

20. 不允許智慧錯誤​​處理(譯註:參考PEAR的ErrorStack)

      21. 使用$_GET取代$_POST來做具破壞性的傳遞作業

22. 不知道怎麼利用正規表示式

23. 從未聽過SQL注入或跨站腳本

24. 不允許簡易配置,也不允許類別的建構子接受參數傳遞而後執行set/get方法,或執行時的常數定義

25. 不理解物件導向程式設計(OOP)的優點和缺點

26. 不視情形大小而濫用OOP

27. 自認為實現可重複使用的軟體一定等於/需要讓你的程式碼遵循OOP

28. 不利用智能缺省值

29. 沒有單一的配置文件

30. 不想暴露檔案源碼,卻用.inc後綴名取代了.php

31. 不使用資料庫抽象層

32. 不能保持DRY作風,即不重複自己,如果你總是在複製貼上一些東西,表示你設計得很差勁

33. 沒有實作讓一個函數/類別/方法只做一件事,也不能組合利用它們

34. 沒能嘗試OOP的特長,如抽象類別、介面、多態、繼承,存取控制修飾符(譯:如public, private, protected)

35. 不用現有的設計模式來優化你的程式體系設計

36. 不允許你的使用者在你擁有很多檔案或目錄的情況下定義基礎目錄

37. 污染了名稱空間,例如用常見字串命名你的函式庫函數

38. 使用資料庫表時不使用表前綴

39. 不使用統一的模板引擎

40. 不關注既有的PHP開發框架,懶於探索;其實先進的開發理念和美妙程式碼就蘊含其中。

陳述:

本站所有資源都是由網友投搞發佈,或轉載各大下載站,請自行檢測軟件的完整性! 本站所有資源僅供學習與參攷,請勿用於商業用途,否則產生的一切後果將由您自己承擔! 如有侵權請聯繫我們删除下架,聯繫方式: admin@php.cn

最新課程

看更多
  • 【web前端】Node.js快速入門
    【web前端】Node.js快速入門
    本課程專為初學者量身打造,旨在幫助學員快速掌握Node.js的基礎知識與核心技術。課程從Node.js的安裝與環境配置開始,逐步深入解析其非同步程式設計模型、模組系統以及事件驅動機制。透過豐富的實戰案例,學員將學會如何使用Node.js搭建高效、穩定的Web伺服器,處理HTTP請求與回應,以及進行檔案操作與資料庫互動。此外,課程也將介紹Node.js在前端開發的典型應用場景,協助學員快速提升實戰能力,輕鬆應對前端開發的挑戰。
  • 國外Web開發全端課程全集
    國外Web開發全端課程全集
    本課程是一套涵蓋HTML、CSS、JavaScript、Vue.js、React、Flutter以及行動APP開發的全面教學。從基礎的網頁製作到複雜的前後端交互,再到行動應用的實戰開發,課程內容豐富,實戰性強。學員將透過一系列實戰項目,深入了解並掌握各類開發技能,快速成長為全端開發工程師。無論是初學者或有一定經驗的開發者,都能從中受益。透過本課程的學習,你將具備獨立開發Web應用與行動應用的能力,為未來的職涯發展打下堅實的基礎。
  • Go語言實戰之 GraphQL
    Go語言實戰之 GraphQL
    本課程旨在幫助學習者掌握如何使用Go語言實現GraphQL服務。課程從GraphQL的基礎知識講起,深入剖析其資料查詢語言的特性與優勢,接著結合Go語言的特性,詳細講解如何建構GraphQL伺服器、處理請求、定義資料模式等。透過豐富的實戰案例,學習者將學習如何在實際專案中整合GraphQL,提升資料互動的靈活性和效率。課程適合有一定Go語言基礎的開發者,是建構高效能、現代化API的必備選擇。
  • 550W粉絲大佬手把手從零學JavaScript
    550W粉絲大佬手把手從零學JavaScript
    本課程,專為初學者打造,由Google大佬親自授課。課程從JavaScript的基礎知識講起,逐步深入,涵蓋語法、函數、物件、事件處理等內容。透過生動的案例和實戰練習,幫助學員快速掌握JavaScript的核心技能。大佬將親自解答學員疑惑,分享程式設計心得,讓學員在輕鬆愉快的氛圍中成長為JavaScript高手。無論你是程式設計小白,或是希望提陞技能的開發者,本課程都會是你學習JavaScript的最佳選擇。
  • python大神Mosh,零基礎小白6小時完全入門
    python大神Mosh,零基礎小白6小時完全入門
    本課程帶領你踏上程式之旅。從零基礎開始,這個為期 6 小時的課程將引導你掌握 Python 的基本原理和進階概念。 無論你是初學者還是希望提高技能的經驗豐富的程式設計師,Mosh 的深入講解和清晰的教學方法將使你快速掌握 Python。深入了解變數、資料類型、條件語句、循環、函數、物件和模組,並透過動手練習鞏固你的理解。 本課程是學習 Python 的理想選擇,能夠為各種職業領域做好準備。 Mosh 的專業知識和對教育的熱情將使你充滿信心,踏上成為熟練的 Python 開發人員的道路。