个人作业——week3
1、軟件工程師的成長
拜讀了多位優秀前輩的文章后,感覺十分復雜,雖然說不上是醍醐灌頂的那種大徹大悟,但是確實的感覺到自己內心中某個部分被真切的感觸到了。推薦的文章語言都比較平易近人,感覺就像是和多年未見的學長一起談話一樣,一邊感嘆著幾年里變化之大,一邊分享著自己的職業體悟,讓人聽完之后有感悟也有感動。
總結了一下各個文章表達出的重點,大概為以下三部分:1、興趣和熱情。2、讀書和自學。3、職業規劃。
這三者間相互關聯,相互作用,就像三角形的三個頂點一樣,既能相互支撐整體的完整性,也可能相互制約彼此的發展,我想依次說一下自己對這三部分的體悟。
一、興趣和熱情
興趣能讓人開始研究一門學問,而熱情決定了是否能在這門學問上持續性的投入時間和精力,將這門學問研究下去,學精學深。
文章中的前輩或者是從小便對計算機某個小的領域充滿了興趣,去開始學習研究,或者是閱讀了某些專業領域名家的著作,由此產生了濃厚的好奇心與求知欲,開啟了學習計算機知識的征途。在這方面,給我印象深刻的是徐宥的文章(他的那篇文章我特別喜歡,來來回回看了好幾遍,平時覺得累了努力不下去了就拿出來看看),因為我覺得他的經歷是我可以用來借鑒的,但又有一些不同。他在大學之前對計算機的知識了解的不多,在大一和大二沒有培養起濃厚的興趣,在大三閱讀了一些計算機專業的名著后,開始了讀書和實踐之間循環,培養起了濃厚的興趣。我覺得在興趣這一方面,我確實不夠熱衷于計算機專業,在高考時因為自己沒有特別強烈的專業意向,所以在家人和老師的推薦下,選擇了計算機專業,當時感覺挺意外的,因為高中的自己對計算機不是很感興趣,感覺就當是平平常常的學習知識了。上了大學以后,大一感覺學的知識中規中矩,以理論課和數理分析為主,感覺還是安安心心的學習知識就可以了。到了大二感覺自己對這個專業的態度發生了一定的變化,對我影響最大的是計算機組成這門課,這門課不僅教授了我關于計算機組成原理的知識,更讓我覺得計算機真的有意思,在真正切身去實現CPU內部運算的過程中,能感受到代碼像自己親手培養的孩子一樣一點一點強大健壯起來,這種成就感和欣喜感讓我很喜歡。之后面向對象課程也讓我的編程能力有所提升。
但是從上學期期末開始,稍微對代碼的興趣不是那么高了,感覺有一點疲倦,這種狀態持續到了這學期開學,我自知這種狀態很不好,也想了很多辦法但還是沒能擺脫掉,再看了這些文章之后,也找來了其中提到的書《編程珠璣》等等來閱讀,感覺自己有點找回之前的狀態能夠繼續對所學知識保持好奇并且渴求的狀態。我打算繼續嘗試文章中推薦的方法,其中最重要的一個方式就是去多讀書。
二、讀書和自學
幾乎每篇文章都提到了作者曾經有過一段按照自己的節奏自學的方式,自學的手段大多是讀書,有些作者多次強調自己曾經拼命讀書,也很重點的推薦讀者多讀一些好書,多讀原版書。所謂見到籃子里的都是菜,多讀書積累知識,擴展知識面終歸是好的。
讀書上我做的真的不如高中,高中時期再怎么忙也能一周讀一本書看,到了大學反而沒能保持下來這個習慣,導致這兩年看的書越來越少。看了這些文章之后,我覺得讀書是自學一個重要的途徑,應該重新拾起這個技能的。
目前打算是先把文章中推薦的書目看一看,然后根據喜歡的領域去選擇書去讀。
三、職業規劃
說實話現在突然讓我把未來職業的規劃都定下來是說不出來的,文章中的人也是邊摸索邊決定下一步計劃,我的短期內的計劃是在北航讀研,至于之后是否讀博士,感覺可能要在讀研的過程中決定這個問題了。
在大三,短期的目標就是在保證學業的前提下,多閱讀專業相關書目,開拓知識面,尋找自己真正感興趣的領域,并對此進行一番研究。
?
?
2、代碼復審
?復審對象:14061041 谷大鑫
測試:
- Does the code work? Does it perform its intended function, the logic is correct etc.
- 可以運行,測試了包括-b -c 和輸入地鐵名功能
- -b測試數據如下:
- ?2號航站樓 蘋果園
- 蘋果園 四惠
- 蘋果園 大望路
- 知春路 北京西站
- 2號航站樓 3號航站樓
- 3號航站樓 2號航站樓
- -c測試數據如下:
- ?2號航站樓 蘋果園
- 知春路 北京西站
- 蘋果園 知春路
- 知春路 建國門
- ?
- 輸入地鐵名測試數據如下:
- 地鐵一號線
- 地體二號線
-b 和 -c 功能上應該沒什么問題,在輸入地鐵名,返回全線路徑這個功能在輸入地鐵名字前,會輸出“Input Parameter Error”的報錯,而這條是不必要的。
- Does it conform to your agreed coding conventions? These will usually cover location of braces, variable and function names, line length, indentations, formatting, and comments.
- 代碼風格感覺挺好的,變量和函數的命名都很規范。
- Is there any redundant or duplicate code?
- 代碼冗余幾乎沒有。
- Is the code as modular as possible?
- 方法和數據都被模塊化處理了。
- Can any global variables be replaced?
- 幾乎沒有使用全局變量。
- Is there any commented out code?
- 有。
- Do loops have a set length and correct termination conditions?
- 是,有的。
- Can any of the code be replaced with library functions?
- 沒有能被替代的代碼。
- Can any logging or debugging code be removed?
- 沒有調試代碼。
- Security
- Are all data inputs checked (for the correct type, length, format, and range) and encoded?
- 對輸入項進行了檢查。
- Where third-party utilities are used, are returning errors being caught?
- 沒有使用第三方。
- Are output values checked and encoded?
- 沒有。
- Are invalid parameter values handled?
- 有,對非法輸入進行了處理,但是有誤處理。
Documentation
- Do comments exist and describe the intent of the code?
- 沒有,沒有包含文檔。
- Are all functions commented?
- 不是,注釋不多。
- Is any unusual behavior or edge-case handling described?
- 沒有描述。
- Is the use and function of third-party libraries documented?
- 沒有說明。
- Are data structures and units of measurement explained?
- 沒有,但是可以讀出來。
- Is there any incomplete code? If so, should it be removed or flagged with a suitable marker like ‘TODO’?
- -a部分的功能待定,其他部分代碼完整。
Testing
- Is the code testable? i.e. don’t add too many or hide dependencies, unable to initialize objects, test frameworks can use methods etc.
- 代碼是可測試的
- Do tests exist and are they comprehensive? i.e. has at least your agreed on code coverage.
- 測試數據從博客看了,數據測試比較覆蓋。
- Do unit tests actually test that the code is performing the intended functionality?
- 是。
- Are arrays checked for ‘out-of-bound’ errors?
- 沒有。
- Could any test code be replaced with the use of an existing API?
- 不能。
轉載于:https://www.cnblogs.com/R-81/p/5924447.html
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生總結
以上是生活随笔為你收集整理的个人作业——week3的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 编写Nginx启停服务脚本
- 下一篇: 词法分析程序