第十天
起點:
1.手把手教你做關鍵詞匹配項目(搜索引擎)---- 第一天
回顧:
9.手把手教你做關鍵詞匹配項目(搜索引擎)---- 第九天
小帥帥收到記錄Log的任務后,就安心去研究去了。。。
其實按照于老大的水平來說,看慣了開源框架,寫個普通的Logger是輕而易舉,他為什么要小帥帥去做呢?
小帥帥當時其實也想不通,因為他沒有經歷過那個階段。
小帥帥的想法其實也挺簡單,就是完成于老大給的任務,成為可以勝任這項工作的好員工。
小帥帥這個階段對需求不敏感,所以一接到任務他就去研究技術細節去了。 殊不知代碼已經寫好了。
小帥帥的初稿,就是嘗試用面向對象的思維能力去寫這個記錄Log的任務, 初稿如下:
class Logger { public static function log($message){ $file = fopen('application.error.log', "a+"); fwrite($file, $message); fclose($file); }}
那么TopClient的代碼如下:
class TopClient { ...... PRotected function logCommunicationError($apiName, $requestUrl, $errorCode, $responseTxt) { $localip = isset($_SERVER["SERVER_ADDR"]) ? $_SERVER["SERVER_ADDR"] : "CLI"; $logData = "API_NAME:$apiName,APP_KEY:$this->appkey,CLIENT_IP:$localIp,SDK_VERSION:$this->sdkVersion,REQUEST_URL:$requestUrl,ERROR_CODE:$errorCode,ERROR_MSG:".str_replace("/n","",$responseTxt); Logger::log($logData); } ......}
其實這是一個進步,小帥帥終于在慢慢轉變自己的思維能力。
當小帥帥拿著這份代碼找到于老大時,于老大很高心,但是不是他想要的成果,于是于老大就對小帥帥說:
1. 如果你要記錄錯誤log,你期望怎么去用,期望看到哪些信息。
2. 如果你要記錄警告log, 你期望怎么去用,期望看到哪些信息。
3. 如果你要調試,想看看代碼的執行效率,你期望怎么去用,期望看到哪些信息。
三個為什么把小帥帥給壓倒了,小帥帥一聽,有點氣喘不過來。
就這樣小帥帥去思索于老大說的話。
小帥帥有幸能聽懂其中含義的時候,所學的心法就更加強大,我們期待小帥帥能夠開竅。
新聞熱點
疑難解答