我願意把本文歸入我的「程式設計糗事」系列。儘管在正規大學課程中,接觸到軟體工程、企業級軟體架構和資料庫設計,但我還是時不時地體會到下述事實帶給我的「罪惡」感,當然,都是我的主觀感受,並且面向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開發框架,懶於探索;其實先進的開發理念和美妙代碼就蘊含其中。
譯註:另有馬永佔翻譯版本《PHP程式設計師的40點陋習》,簡潔並配有譯者註釋。
以上就介紹了.net framework 4.0 40個跡象表明你還是PHP菜鳥,包括了.net framework 4.0方面的內容,希望對PHP教程有興趣的朋友有所幫助。

TheSecretTokeEpingAphp-PowerEdwebSiterUnningSmoothlyShyunderHeavyLoadInVolvOLVOLVOLDEVERSALKEYSTRATICES:1)emplactopCodeCachingWithOpcachingWithOpCacheToreCescriptexecution Time,2)使用atabasequercachingCachingCachingWithRedataBasEndataBaseLeSendataBaseLoad,3)

你應該關心DependencyInjection(DI),因為它能讓你的代碼更清晰、更易維護。 1)DI通過解耦類,使其更模塊化,2)提高了測試的便捷性和代碼的靈活性,3)使用DI容器可以管理複雜的依賴關係,但要注意性能影響和循環依賴問題,4)最佳實踐是依賴於抽象接口,實現鬆散耦合。

是的,優化papplicationispossibleandessential.1)empartcachingingcachingusedapcutorediucedsatabaseload.2)優化的atabaseswithexing,高效Quereteries,and ConconnectionPooling.3)EnhanceCodeWithBuilt-unctions,避免使用,避免使用ingglobalalairaiables,並避免使用

theKeyStrategiestosigantificallyBoostPhpaPplicationPerformenCeare:1)UseOpCodeCachingLikeLikeLikeLikeLikeCacheToreDuceExecutiontime,2)優化AtabaseInteractionswithPreparedStateTementStatementStatementAndProperIndexing,3)配置

aphpdepentioncontiveContainerIsatoolThatManagesClassDeptions,增強codemodocultion,可驗證性和Maintainability.itactsasaceCentralHubForeatingingIndections,因此reducingTightCightTightCoupOulplingIndeSingantInting。

選擇DependencyInjection(DI)用於大型應用,ServiceLocator適合小型項目或原型。 1)DI通過構造函數注入依賴,提高代碼的測試性和模塊化。 2)ServiceLocator通過中心註冊獲取服務,方便但可能導致代碼耦合度增加。

phpapplicationscanbeoptimizedForsPeedAndeffificeby:1)啟用cacheInphp.ini,2)使用preparedStatatementSwithPdoforDatabasequesies,3)3)替換loopswitharray_filtaray_filteraray_maparray_mapfordataprocrocessing,4)conformentnginxasaseproxy,5)

phpemailvalidation invoLvesthreesteps:1)格式化進行regulareXpressecthemailFormat; 2)dnsvalidationtoshethedomainhasavalidmxrecord; 3)


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

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

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

Atom編輯器mac版下載
最受歡迎的的開源編輯器

記事本++7.3.1
好用且免費的程式碼編輯器