現代程序設計 網頁前端開發作業(to 鄒欣老師)


在一些著名的網站的搜索框上,會有一種“自動完成”功能。

 

比如google、百度和淘寶:

現在,我們來考慮如何實現這個功能。

 

第一步:模仿任意一個網站,編寫一個類似的網頁效果原型。

 

在這一步,不要估計開發時間。

把學習新技術(一些前端基礎知識)的時間花在這個階段。

以完成原型為目標,不必深入技術。

去 http://www.w3schools.com/ 獲得入門知識

去 https://developer.mozilla.org/ 查閱文檔

 

第二步:仔細觀察三個網站的“自動完成”功能,比較它們<strong>功能</strong>的相同點和不同點,寫成一份簡單的需求分析文檔。

請僅僅從功能角度分析這三個組件。

提示,如果你試圖從代碼中找到答案,你很可能陷入地獄。

除了界面,可以關注一些細節,比如鍵盤操作、響應時間。

第三步:設計並實現一個“自動完成”組件,使得它能夠把三個網站的自動完成功能應付自如。

按照軟件工程的模型進行設計、復審和實現。

在設計階段,討論清楚這個組件的用戶需要面對的API:它們的命名、調用方式、編程風格、它所依賴的框架(如果有必要的話)。

盡量讓使用變得簡單。

盡量用可擴展性代替枚舉需求。

根據第二步的需求來完成代碼,不必試圖跟原版"一模一樣"。

考慮清楚如何管理這個組件用到的html、css和js代碼。

第四步:找到另一個網站的自動完成功能,試試看我們的“自動完成”組件是否能夠實現它!

如果可以實現,和小伙伴們討論下,為什么你們的組件能夠應對未知的需求?回顧設計階段,哪些設計要素產生了關鍵性作用?

如果不可以實現,和小伙伴討論下,為什么你們的組件無法應對新需求?需要做怎樣的設計變更和代碼重構,才能支持新的需求?

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM