DIY迷你郵件客戶端開發手記(一)

       基於娛樂開源commons-email-1.x包以後,花了點時間從新整理了一下代碼和GUI設計,只想利用已有的組件搭起一個本身的郵件客戶端,若是在往高出走點,也能夠弄一個郵件服務器來。服務器

      1.開發目的dom

        簡單,甚至單純的可怕。造重複的輪子,感覺不同的過程ide

      2.開發環境佈局

       主流Java開發IDE NetBeans ; 使用開源jxl.jar,jdom-1.0.jar,commons-email-1.x包,對郵件發送進行簡單的二次封裝,能夠參見http://aiilive.blog.51cto.com/1925756/1038558 學習

      3.需求,功能測試

       需求很實在,就是在學習的過程當中想切身的感覺一種軟件開發的迭代的過程。功能天然是基本知足發郵件的功能,主要想着是弄一個能夠將已經存在的文檔中的電子郵件地址直接做爲收件人來使用,這樣也就達到根據不一樣的策略來實現不一樣的業務處理的功能。設計

     4.GUI設計blog

       軟件的核心是其中對錯綜複雜的業務進行的處理,不過沒有良好的用戶界面,顯然是挑戰這麼多年Windows的權威和價值觀。因此,關於GUI的設計也是一門很深的學問。本身這個郵件客戶端,知足自身對美學的要求便可,不敢捨本逐末,也不敢殘害視角。開發

       貼出來一張最終的界面圖:文檔

    5. 停下來多想一想。

       5.1  如何編寫這些策略性的郵件發送處理

       5.2  如何處理一些關於字符串,郵件地址驗證,獲取收件人地址信息

       5.3  用戶界面的佈局,各個組件在特定時間的狀態

       5.4  如何測試,而且保證已經完成的代碼將能夠直接添加到工程中使用

    6. 錯過5,瞎忙乎了一陣

        寫到這裏算是對這幾周利用碎屑時間開發這個小應用的總結和反思吧。

     第一,雖然是碎屑時間,可是沒有對整個應用作一個較爲全面的分析和組織策劃,而是匆忙的打開IDE,火燒眉毛的寫代碼,最後的結果是後面更多的碎屑時間用來收拾前面留下來的問題,基本上是對前面的代碼從新寫了一遍,並且還有點惋惜的刪減,重構,組織和整合。

  第二,常常會被一些事情打斷手頭這個應用的開發,因爲沒有很好的設計,每次都感受是新東西同樣,還得再次熟悉,各個類之間的關係顯的格外混亂,相反更是浪費時間,還打擊了積極性。

  第三,深思熟慮的重要性。沒有考慮好,請不要動手,惋惜動手了;沒有設計好,請不要動手,惋惜動手了;沒有測試完成,請不要開始下一塊的編寫,惋惜仍是動手了。可能大多數人都會煩這個毛病,最後的苦果固然還得用本身碎屑的時間給吃掉,這是何苦呢!這多是苦逼生活來源的一部分吧。好的軟件是設計出來的,真沒錯,錯在太急於看到顯示出來的東西了。完了,開發週期延長了,瞎忙了一統。

     這是回過頭來看已經發生的問題,觸目驚心的讓人寒顫。原本看到本身作的東西,展現在本身面前了應該像剛開始動手寫的那會激動一下,惋惜這個時候一切全無。卻是有Shift+Delete的衝動。軟件工程中有這麼一個笑話吧,說是人類製造的三種東西不能去看: 「法律,香腸,軟件」。能夠想象這些東西產生的過程,應纔是極爲豐富和讓人煩躁不堪的。

        這裏想回到一個關於爲何寫博客的問題上,理解很簡單,休閒的文章算是認識生活,感覺生活,留下美好事物;技術文章自我剖析,揭露自我,追求進步。不少事情是沒法經歷的,也有不少事情是沒有必要再去重走。因此寫下手記,提醒本身也同時幫助可以從中獲取幫助的人。軟件開發的這個反反覆覆的過程,也許受夠了,不過若是繼續從事,那麼天然要安下心來繼續承受,可是承受的方式,態度將決定了可否感覺到其中的愉快和成就感。說不定,還真Shift + Delete已成完成的工程,不要緊,接下來會更好。

相關文章
相關標籤/搜索