<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      川山甲

      追求內心的非常平靜!瞬間清空所有的雜念,達到物我兩忘!

        博客園  :: 首頁  ::  :: 聯系 :: 訂閱 訂閱  :: 管理
       
        最近在做一個項目,需求很簡單,但是細節比較多!從開發中,領悟到一些東西與大家分享。
       
      排期
       
      PM(產品經理)需求
      1. 綁定某個手機終端
      2. 解綁某個手機終端
      3. 解綁某個用戶的所有手機終端
      4. 查詢某個用戶的綁定設備信息

        已經給了你這樣的需求,那么接下來要做什么?PM當然會詢問排期。如果讓你排期,你會給幾天時間?你怎么考慮的排期?

        反正讓我排期,我排不出來。于是接下來我要做的是拿出我的xmind軟件,在跟PM確認需求,定方案。最后用了兩個小時,把需求再次確認,并給出了如下的排期:

       

      后來我又問了一個細節,新域名service.xx.com是否已經有了?PM告知無,所以需要走申請流程1d。——最后的時間定位1周(5天)時間。

       

      環境
       
        是部署在新服務器上?還是部署在舊的服務器上?
        有人會問,這有區別嗎?——當然是有區別的,如果是新服務器,給了你更大的空間。比如對于php來說,你可以選擇更高的版本,可以選擇更好的框架(Zend Framework),但是對于舊環境,那你的框架就受到限制了。如:你要看舊的服務器上的php版本,是否在舊的服務器上有好的php框架。
       
        后來的方案是,在舊的服務器上添加個虛擬機。舊的服務器上php代碼是面向過程寫的(是java程序員寫的),所以我決定使用好的php框架,便于后期維護和擴展,故嘗試著使用zend framwork框架,但是經常性的報一些受php版本限制的錯誤。嘗試了好幾個版本的zend framework,最終放棄使用zend framework。選擇了Thinkphp框架。——這已經費了小半天的時間。
       
      表設計
       
        著手設計表。
       
        在設計表的時候你會想什么?
        第一、表結構肯定是首選了。(是用int型還是varchar型,如狀態字段的類型選擇,我選擇了tinyint(1),也可以使用enum)
        第二、命名。好的命名能讓開發者一目了然,加深你對系統的了解。
        第三、表引擎的選擇。是用MyISAM呢,還是Innodb?你知道這兩個表的區別嗎?——我選擇了Innodb。
        第四、索引。這個初期你最好不要事先進行設計,我是在代碼成形的階段,才開始加的。
        第五、注釋。你習慣在建字段的時候加comment嗎?如果你經常用desc table_name命令查看表結構的話,那你肯定覺得沒什么用?我經常是用show create table table_name看表結構的,注釋一目了然。
         

       

      開發
       

        編碼是個細致活,那么在編碼開始階段你要做什么?不會是著急把代碼寫好吧?

        我考慮的是:

        第一、干凈的代碼;

          框架:能讓你的代碼結構很整齊,我用的是Thinkphp,也是第一次使用。先找到官方的文檔,記住不要一次性想把整個文檔看完,我是邊用邊看的方式進行的。開始階段主要看的地方是:mvc結構;

          好的命名:不要用自己習慣的命名方式,要以框架的命名方式去編碼,要不然其他coder也習慣用自己的命名方式去coding,那么代碼看起來就沒那么干凈了。

        第二、傳入參數的校驗;

          通過業務,你要確認,你的系統將會接受什么樣的參數?

          int型的是最讓我舒服的,不會引起什么SQL注入,XSS問題,直接用intval強類型轉換。

          最讓人頭痛的就是字符型,考慮很多方面,SQL注入,XSS攻擊等。對于SQL注入,我仔細看了一下Thinkphp的文檔,只要你用數組傳遞參數給指定的類,你就不用擔心SQL注入的問題(這也是用框架的好處)。xss攻擊:利用php的htmlspecialchars, 把字符轉成html結構的字符。

        第三、更新、插入操作;

           1、事務:優點是插入和更新時保證數據的一致性、原子性、隔離性、持久性;但是也有一個問題,會有鎖行記錄的問題。

           2、在更新和插入之前,你做了查詢嗎?就是判斷是否有這條記錄。

        第四、日志;

           1、線上代碼出問題,你是怎么定位問題的?很多時候,有些問題,你是無法在開發機和測試機器上復現出來的。我的辦法就是日志。

             2、安全性:你的日志是否有安全漏洞(把公司內部的信息暴漏到日志里)?那你怎么控制的?——一個辦法就是設置日志級別,thinkphp框架自身就有日志級別。

           3、方便性:你的日志打出來之后,你能找到問題嗎?

            原來的做法:程序讀到日志斷點的位置的時候,就把日志追加到日志文件里。——問題來了,當有一些并發的時候,日志里會把很多請求的日志交錯的打到文件里,查詢問題非常不方便。

            thinkphp給出的做法(不錯的做法):本身也有上面的做法(原來的做法);新學到的招數是,把日志內容一行一行的放到內存里,最后結束的時候,一次性打到日志文件里。

       

          4、錯誤碼;

            你的錯誤碼是什么樣的?你設計過嗎?是否成功就0,錯誤就<0,錯誤碼挨著往下出溜。最好有個統一的規范。

       

       

       

          5、開發文檔

          你有寫文檔的習慣嗎?很多程序員跟我說,寫文檔太費時間了,我個人是習慣邊寫代碼邊寫文檔.你的文檔用什么寫?我早期習慣在公司的系統上寫,但是發現速度很慢,而且查某個點的時候,比較麻煩,所以我習慣用word編寫。

          文檔有什么用?

          1>是容易讓我理解代碼;

          2>是后期維護方便;這系統不是寫完了就了事的,后期還需要你維護,或者給別的程序員維護。

        我經常接手別的程序員寫的代碼。出了問題,問他怎么回事?每次回我的話就是看代碼啊!這時候我就要從內心罵人了!

          3>是你寫的接口是給人調用的,你怎么告訴調用者你的接口形式?我比較懶,直接把文檔交給他,省事了。如果他有些地方看不懂,那就說明,你沒理解或者你沒寫清楚,一方面加深你對系統的理解,另一方面也能增加你寫文檔的功底;

       

      總結
       
         寫代碼真的很不容易,有很多方面你要考慮的。如果你有更好的意見,請多多指教!
       
      推薦
       
      posted on 2014-01-28 16:37  川山甲  閱讀(7108)  評論(17)    收藏  舉報
      主站蜘蛛池模板: 国产精品区一二三四久久| 国产成人精品无码免费看| 久久久综合九色合综| 精品国产一区二区三区性色| 一区二区不卡国产精品| 免费观看羞羞视频网站| 国产日女人视频在线观看| 日韩中文字幕人妻精品| 久久精品国产精品亚洲毛片| 久久综合色最新久久综合色| 色猫咪av在线网址| 黑人巨茎大战白人美女| 亚洲乱熟女一区二区三区| 精品国产一区av天美传媒| 孕妇怀孕高潮潮喷视频孕妇| 中文字幕一区二区人妻| 亚洲AⅤ天堂AV天堂无码| 日韩熟女乱综合一区二区| 激情综合网激情综合| 国产人妻高清国产拍精品| 克山县| 偷自拍另类亚洲清纯唯美| 色九月亚洲综合网| 偷炮少妇宾馆半推半就激情| 国产精品进线69影院| 亚洲男人第一无码av网| 国产精品自拍视频我看看| 国产色无码专区在线观看 | 东方四虎在线观看av| 18分钟处破好疼哭视频在线观看| av中文字幕一区人妻| 免费看欧美日韩一区二区三区| 日本欧美大码a在线观看| 国产午夜在线观看视频播放| 亚洲AⅤ天堂AV天堂无码| 国产成人8X人网站视频| 久热这里只国产精品视频| 国产一区韩国主播| 亚洲欧美人成人让影院| 亚洲自拍偷拍福利小视频| 看黄a大片日本真人视频直播|