天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

HTML重構:戰略篇

  《Refactoring HTML: Improving the Design of Existing Web Applications》是一本精彩的HTML重構指南,作者給出了HTML重構的實踐路線和方法。本文是《Refactoring HTML》的讀書筆記,按照我的理解將全書的分為:戰略篇,戰術篇,工具篇。

  本文是戰略篇:全局方略的角度介紹重構的內涵原因時機目標

  嗯哼,我們開始:

  進行重構就像打一場仗,而戰爭的發起是要慎重考慮的,《孫子兵法》里面講“兵者,國之大事,死生之地,存亡之道,不可不察也。”所以動手重構之前首先要回答下面幾個問題:

  • 什么是重構?
  • 為什么進行HTML重構?
  • 什么時候進行HTML重構?
  • HTML重構的目標是什么?
  • 面對質疑:還要重構么?

  什么是重構 Refactoring?

  本書側重實戰,沒有《UML Distilled》那樣高屋建瓴的抽象,即使有抽象,抽象層面牽扯的細節過多(這一點在后續的閱讀中也可以發現)。這一部分內容我援引了《Refactoring: Improving the Design of Existing Code》對重構的定義:

  Refactoring (noun): a change made to the internal structure of software to make it easier to understand and cheaper to modify without changing its observable behavior.

  Refactor (verb): to restructure software by applying a series of refactorings without changing its observable behavior.

  為什么進行HTML重構?

  抽象地講,HTML重構的可以讓代碼更能適應變化,應對系統和領域需求為新功能的開發提供更優秀的基礎。

  具體地講,HTML重構可以:

  • 讓代碼更具有可讀性,更容易理解
  • 重構過程中往往有意外的收獲:發現隱藏的系統Bug
  • 增強頁面可用性, 關注點從設計者開發者轉移到使用者
  • 縮短提高頁面的呈現時間(Slow pages -Rendering Times)
  • 解決頁面瀏覽器不兼容問題
  • 搜索引擎優化Search Engine Optimization

  進行HTML重構的時機?

  • 每一次進行重新設計之前;新功能將構建在一個更穩固的基礎之上
  • Refactor When You Need to Fix a Bug
  • Refactor As You Do a Code Review
  • 一個原則:勿以善小而不為;重構的過程往往是斷斷續續的,很少有一個連續的時間給我們進行重構。所以我們只要有機會進行重構,就動手去做吧

  HTML重構的目標(What  Refactor To) ?

  • XHTML
    理由:XHTML更加嚴格,瀏覽器不再解析亂作一團的標簽而是格式規范的頁內容,這時負擔從瀏覽器轉移到頁面開發者。內容聚合,搜索引擎優化,樣式表都可以更好的應用基礎。開發者能夠更容易調試和解決問題,因為問題更容易定位了。XHTML不能完全解決瀏覽器兼容問題,但是它能夠消除大部分的瀏覽器不兼容問題已經居功甚偉。主流HTML編輯器都提供對XHTML的支持。XHTML是未來Web應用提供堅實的基礎,如:MathXML MusicXML SVG。
  •  CSS

  理由:將展現層從內容中分離出來。為不同的閱讀者提供高可讀性。減少代碼重復,節省帶寬。

  • REST

  REST(Representational State Transfer表述性狀態轉移)是一種針對網絡應用的設計和開發方式,可以降低開發的復雜性,提高系統的可伸縮性。REST提出了一些設計概念和準則:

  1.網絡上的所有事物都被抽象為資源(resource);

  2.每個資源對應一個唯一的資源標識(resource identifier);

  3.通過通用的連接器接口(generic connector interface)對資源進行操作;

  4.對資源的各種操作不會改變資源標識;

  5.所有的操作都是無狀態的(stateless)。

  REST之所以能夠提高系統的可伸縮性,是因為它強制所有操作都是stateless的,這樣就沒有context的約束,如果要做分布式、做集群,就不需要考慮context的問題了。同時,它令系統可以有效地使用pool。REST對性能的另一個提升來自其對client和server任務的分配:server只負責提供resource以及操作resource的服務,而client要根據resource中的data和representation自己做render。這就減少了服務器的開銷。

  重構的目標不是金科玉律,你沒有必要逐一進行實踐。你可以按照XHTML->CSS-->Rest的順序按部就班步步為營,也可以根據實際情況調整重構目標和計劃。但是只要你做了,你就可以從重構過程中得到好處。

  面對質疑:還要重構么?

  重構的本質決定了它不是生產性的,重構的完成并沒有新功能的產生。所以重構往往面臨來自各方面的質疑:

  • 重構就是在浪費時間,我們還是開發新功能吧

面對質疑我們給出這樣的答案:

  • HTML重構從長遠來看為后續開發提供了一個良好的基礎,實際上是節省了時間。因為系統更容易添加新功能,更容易維護。重構的過程能讓開發者對以前的工作有一個思考,對新人是一個熟悉系統的機會。
  • HTML重構本身并不會占用太多的時間,因為我們有很多自動化的工具可用。
  • HTML重構不需要一個連續的時間,斷斷續續的時間未嘗不可,對于開發者來說,進行重構就像日行一善。

NET技術HTML重構:戰略篇,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: JLZZJLZZJLZ老师好多的水 jk制服喷水 | 成人免费无毒在线观看网站 | 欧美激情精品久久久久久不卡 | 少女10声大哥喊退色狼 | 肉动漫3D卡通无修在线播放 | 亚洲AV日韩AV欧美在线观看网 | 亚洲欧美高清在线 | 在线观看免费小视频 | 午夜伦理伦理片在线观 | 国语对白嫖老妇胖老太 | 素人约啪第五季 | 亚洲 欧美 综合 高清 在线 | 色悠久久久久综合网小说 | 欧美午夜精品一区二区蜜桃 | 99久久99久久免费精品蜜桃 | 综合久久伊人 | 中国bdsmchinesehd 中俄两军在日本海等上空战略巡航 | 色偷拍自怕亚洲在线 | 日韩高清特级特黄毛片 | 久久精品国产亚洲精品2020 | jzz大全18| 国内一级一级毛片a免费 | 亚洲国产精品无码AV久久久 | 二级毛片在线观看 | 两个人的视频日本在线观看完整 | 亚洲成人在线免费 | 湖南电台在线收听 | 久久久久99精品成人片三人毛片 | 肉动漫3D卡通无修在线播放 | SM脚奴调教丨踩踏贱奴 | 大稥焦伊人一本dao 大香伊人中文字幕精品 | 丰满少妇67194视频 | 国产午夜伦伦伦午夜伦 | 国产欧美日韩中文视频在线 | 国产精品爽爽久久久久久蜜桃 | 一扒二脱三插片在线观看 | 欧美123区| 亚洲乱码中文字幕久久孕妇黑人 | 一本到2v不卡区 | 伊人色综合久久天天 | 一本道无码字幕在线看 |