本周主打工具篇,用到的工具有:
命令行工具 Mac:iTerm2 ?Windows:PowerShell
版本管理工具 git&GitHub、SourceTree
1.本周學習到的東西
命令行
外部的庫 library
類 class
版本管理的概念 (記錄代碼某個時間點的狀態(tài))
1.1你認為command or shell這種命令行軟件有什么用處檩电?(可搜索)
省時弊知,執(zhí)行相關(guān)命令即可快速查找代碼文件的位置陈哑、更改目錄
在一個界面跑出幾個代碼文件輸出的結(jié)果(相比command+B不容易出bug搜吧;便于交互)
1.2你嘗試了哪幾個python的library?有感受關(guān)于庫的使用的好處坦胶?有哪些透典?(自己描述)
time&calendar&turtle.
站在前人肩膀上。神奇顿苇,有趣峭咒。
1.3面向?qū)ο蟮脑硎鞘裁矗繉Ρ攘嗣嫦驅(qū)ο蠛兔嫦蜻^程岖圈,你覺得面向?qū)ο螅ɑ蛘哒f類)帶來了哪些好處讹语?(自己描述)
原理:面向?qū)ο笫菍ο笞鳛槌绦虻幕締卧瑢⒊绦蚝蛿?shù)據(jù)封裝其中蜂科,以提高軟件的重用性顽决、靈活性和擴展性。
面向?qū)ο蟮暮锰幨菞l理清晰导匣。除了main函數(shù)起到賦值作用外才菠,只需要定義類別、初始化屬性和行為三個代碼塊贡定,以便執(zhí)行變量較多的行為赋访。(以上網(wǎng)上找來的、有同感:軟件易于修改缓待、易于理解蚓耽、易于調(diào)試和測試、穩(wěn)定性較好旋炒、具有可重用性)
百度百科
“面向過程”和“面向?qū)ο蟆钡膮^(qū)別
面向過程就是分析出解決問題所需要的步驟步悠,然后用函數(shù)把這些步驟一步一步實現(xiàn),使用的時候一個一個依次調(diào)用就可以了瘫镇;面向?qū)ο笫前褬?gòu)成問題事務(wù)分解成各個對象鼎兽,建立對象的目的不是為了完成一個步驟,而是為了描敘某個事物在整個解決問題的步驟中的行為铣除。
例子:
可以拿生活中的實例來理解面向過程與面向?qū)ο笱枰В缥遄悠澹嫦蜻^程的設(shè)計思路就是首先分析問題的步驟:1尚粘、開始游戲择卦,2、黑子先走,3秉继、繪制畫面潘明,4、判斷輸贏秕噪,5、輪到白子厚宰,6腌巾、繪制畫面,7铲觉、判斷輸贏澈蝙,8、返回步驟2撵幽,9灯荧、輸出最后結(jié)果。把上面每個步驟用不同的方法來實現(xiàn)盐杂。
如果是面向?qū)ο蟮脑O(shè)計思想來解決問題逗载。面向?qū)ο蟮脑O(shè)計則是從另外的思路來解決問題。整個五子棋可以分為1链烈、黑白雙方厉斟,這兩方的行為是一模一樣的,2强衡、棋盤系統(tǒng)擦秽,負責繪制畫面,3漩勤、規(guī)則系統(tǒng)感挥,負責判定諸如犯規(guī)、輸贏等越败。第一類對象(玩家對象)負責接受用戶輸入触幼,并告知第二類對象(棋盤對象)棋子布局的變化,棋盤對象接收到了棋子的變化就要負責在屏幕上面顯示出這種變化眉尸,同時利用第三類對象(規(guī)則系統(tǒng))來對棋局進行判定域蜗。
可以明顯地看出,面向?qū)ο笫且怨δ軄韯澐謫栴}噪猾,而不是步驟霉祸。同樣是繪制棋局,這樣的行為在面向過程的設(shè)計中分散在了多個步驟中袱蜡,很可能出現(xiàn)不同的繪制版本丝蹭,因為通常設(shè)計人員會考慮到實際情況進行各種各樣的簡化。而面向?qū)ο蟮脑O(shè)計中坪蚁,繪圖只可能在棋盤對象中出現(xiàn)奔穿,從而保證了繪圖的統(tǒng)一镜沽。
2.下周計劃
2.1菜鳥教程 (git教程&python2教程)
2.2多試幾個庫 http://devdocs.io
2.3有余力看《python簡明教程》
2.4期待大作業(yè),預計bug滿天飛贱田,忐忑······