成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

聊聊我的HTTP框架近況:支持AOP,攔截器,配置文件讀取...

開發 架構
距離上一次給小伙伴們匯報簡易版的“Spring Boot”的完成情況已經有半個月了。時間過得是真特么快啊!目前的話,整個 HTTP 框架基本已經具備我最初想要實現的全部功能了。也算是兌現了諾言,善始善終了。

[[347789]]

本文轉載自微信公眾號「JavaGuide」,作者Guide哥。轉載本文請聯系JavaGuide公眾號。   

 jsoncat:https://github.com/Snailclimb/jsoncat (仿 Spring Boot 但不同于 Spring Boot 的一個輕量級的 HTTP 框架)

距離上一次給小伙伴們匯報簡易版的“Spring Boot”的完成情況已經有半個月了。時間過得是真特么快啊!

01.這半個月里,我的 HTTP 框架已經支持 AOP、攔截器(也是 AOP 的一種)、配置文件讀取等功能了。 👏

目前的話,整個 HTTP 框架基本已經具備我最初想要實現的全部功能了。也算是兌現了諾言,善始善終了。

功能具體的實現情況如下:

 

很多讀者小伙伴可能感覺我寫的比較容易。不過, 說實話,我中間寫的過程中也遇到了很多問題。為了解決寫這個框架遇到的一些問題,我熬了很多夜,也早起了很多次。

我不算是奮青。一般情況下,我平時都是晚上 9 點半之后玩幾把王者榮耀,到了 12 點左右就睡覺了。早晨的話,我一般都是 8 點左右起床。幾乎日日如此。

但是,寫這個 HTTP 框架的時候,我記得有 3 次我熬夜到凌晨 2 點左右。有 2 個早晨,因為有“靈感”,我 5 點多久爬起來寫代碼了。

說這些,不是為了博同情讓大家覺得我寫的多辛苦,也不是表現我有多努力。

這些都是很平常的經歷罷了!我覺得大部分程序員都經歷過:

  • 夜深人靜的時候,突然自己寫的代碼出了點問題,不解決就不想睡覺。
  • 某個早晨,突然驚醒,靈感爆棚,打開電腦開始寫代碼。

不過,我是真的不推薦大家熬夜!拿我自己來說,每次熬夜就會導致我第二天甚至是第三天精神不振,嚴重影響效率。這還只是熬夜的短期影響,長期作息不健康的話,肯定對身體的摧殘特別大。

道理都懂,不過,大部分小伙伴都像我一樣,還是會偶爾熬夜。

02.整個框架的目錄結構如下:

  • 框架實現部分按照不同的功能模塊進行組織,比較直觀。
  • 提供了完整的框架使用示例,并且還為其編寫了測試。

 

03.開源的魅力在于別人可以對你的項目進行反饋,并且,遇到對你的項目感興趣的朋友,他們還會幫你一起完善和開發項目。

拿 jsoncat 來說。jsoncat 開源之后,一位叫做“hellohello-tom”的老哥便參與了進來幫忙開發。

 

tom 哥代碼寫的很不錯,幫助 jsoncat 實現了很多功能!真的非常非常非常感謝!愛你哦!老哥!

我倆因為這個項目經常在微信上交流,或許這就是編程的魅力吧!哈哈哈!

我平時少在微信聊天的,但是因為這個開源項目和老哥聊了挺多的。隨便截了兩張圖:

 

我覺得一個項目開發是比較忌諱只有自己一個人的。每個人都會有思維局限,你很難發現你的代碼需要某些改進的地方以及存在的問題。

這也解釋了為什么 Code Review(代碼審查)在軟件開發過程中這么重要了。

通過 Code Review 可以非常有效提高代碼的整體質量,因為它會幫助我們發現代碼中的壞味道以及可能存在問題的地方。

04.其實,單純實現功能的話費不了太多時間。大部分時間,我都花在了對現有代碼的重構上。

畢竟我這個 HTTP 框架開源出來的主要目的之一是為了給需要的小伙伴學學習,我必須要保證我寫的代碼可讀性。

為此,我在寫代碼的過程中給自己定了以下原則:

  1. 一切從簡 :能用最少的代碼寫清楚的功能就一定不多用一行代碼。
  2. 不濫用設計模式 :我最初寫代碼的時候,特別喜歡濫用設計模式。自己學到了什么設計模式,就像立馬用到自己的項目上去,即使這個設計模式在當前業務場景并不適合。這真的是一個不好的習慣,不過,在寫這個 HTTP 框架的時候我刻意避免了這個問題。目前的話,整個框架只用到了單例模式、工廠模式、策略模式以及責任鏈模式。
  3. 保持代碼結構清晰 : 開源出來的代碼是寫給人看的,代碼結構清晰可以大大減少其他人理解代碼的難度。
  4. 謹慎抽取工具類 :最開始寫這個框架的時候,我抽了很多工具類。到最后發現很多工具類中的方法,實際只在某一個地方用到,并且以后也只可能會在這一個地方用到。這個時候,我覺得最好的做法就是,將這些工具類方法放到唯一一個用到這個方法的類中。這樣整體代碼結構會更加清晰。
  5. 不秀技 :最開始寫代碼的時候,特別喜歡秀技。比如說 Java8 那會還沒流行的時候,我寫代碼總想著用 Java 8 的 Lambda 表達式、函數式接口等新特性。那時候,和老師一起做項目的時候,其他同學還會覺得我寫的特別牛逼,因為他們覺得自己很久才能看懂。但是,我現在覺得當時的做法其實有別軟件開發/編程的本質,編程的本質不是說減少代碼量,而是說寫出他人易于理解的代碼,寫出更容易維護的系統。你寫的代碼不單純是給你自己看的,你還要讓別人看懂,減少別人的閱讀學習成本。這個和我第一點說的一切從簡是不矛盾的。

今天就簡單聊聊這些吧!時間也不早了!

原文鏈接:https://mp.weixin.qq.com/s/KYcUVM3fzSqzhe2GtK3PiA

責任編輯:武曉燕 來源: JavaGuide
相關推薦

2020-03-25 17:55:30

SpringBoot攔截器Java

2010-03-30 18:04:45

Nginx http服

2025-05-09 08:20:50

2009-06-24 16:00:00

2021-10-04 19:49:23

HTTP模塊No.js

2013-07-30 11:30:42

Windows PhoWindows Pho

2009-09-27 17:37:32

Hibernate攔截

2025-02-28 08:14:53

2023-09-05 08:58:07

2009-08-13 09:58:55

C#讀取配置文件

2009-08-13 09:16:57

C#讀取配置文件

2011-05-16 10:14:11

Hibernate

2023-08-07 16:14:32

propertiesSpring框架

2011-11-21 14:21:26

SpringMVCJava框架

2009-07-08 17:02:11

JDK實現調用攔截器

2010-08-02 16:58:08

Flex配置文件

2009-06-25 15:54:42

Struts2教程攔截器

2022-05-26 09:03:39

AOP編程

2021-11-03 17:04:11

攔截器操作Servlet

2009-06-25 15:59:21

Struts2教程攔截器
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久久久久久综合 | 91高清在线观看 | 欧美激情精品久久久久久 | 在线一区 | 精品久久99 | 欧美mv日韩mv国产网站91进入 | 日韩在线欧美 | 国产精品小视频在线观看 | 欧美理伦片在线播放 | 黄色毛片在线观看 | 免费成人在线网站 | 中文字幕在线观看 | 日本天天操 | 午夜精品在线观看 | 日本视频在线 | 欧美啊v在线观看 | 在线免费黄色小视频 | av在线电影网站 | 超碰在线97国产 | 亚洲一区二区三区在线 | 国产探花在线观看视频 | 欧美黑人一级爽快片淫片高清 | 国外成人在线视频网站 | 一区二区福利视频 | 久久99精品久久久 | 欧美成人在线免费 | 夜夜夜夜草 | 91在线视频观看免费 | 在线观看中文字幕dvd播放 | jvid精品资源在线观看 | 一本大道久久a久久精二百 欧洲一区二区三区 | 国产精品视频二区三区 | 色中文在线 | 欧洲免费视频 | 成人a视频在线观看 | www国产成人免费观看视频,深夜成人网 | av在线电影网 | 精品欧美 | 久久久精品网 | 欧美看片| 中文字幕第一页在线 |