總結
六月份畢業,到公司有9個月,參與了三個專案,忽然發現現在做的只是**的積累和知識點的積累,對自身能力卻沒有一步步進行打造與提高。
剛來的時候由不會寫到現在的會寫,這是這半年的成果。下面要實現兩個目標:
一,提高**的質量:
a.**的書寫規範(見下部)
二,要提高**的靈活與可重用,要去再看看c++的書,理解物件導向程式設計。
二,加快知識的積累與總結
a,對於專案中常用知識點的總結:一,對於一些常用的知識點,要總結起來,寫好小示例,以減少二次使用所花費的時間。
二,對於一些大的知識點,可以寫乙個dame,深入理解,可以在需要的時候改進現有**,在下次使用時,可以有更好的效果。
三,要學習專案管理經驗:雖然公司規模較小,專案管理比較混亂。但要注意觀察與學習,要將總結的東西在自己身上試驗,至少要提高自己所負責模組的規劃的合理性。
**書寫規則:
1.專案名:能看出專案功能,可以
2.資料夾管理:專案每個模組要有相應資料夾,公用類要統一歸組
3.檔案管理:檔案命名方式:一,多人合作專案時,可在每個類前加上姓的英文本母_類名(盡量能表明模組,類功能。第一字母小寫,每個單詞首字母大寫)
例:w_rootviewcontroller.h
.h檔案規範
含系統名稱,功能說明(包含)、軟體版本、系統版本、開發人員、開發時間和修改記錄等幾個部分。
4.**規範:
類名:*首字母大寫
*可以在多個專案中,通用的類加ws開頭,特定應用的類則不需要。
例:wsrotateimage
方法名:*方法名首字母小寫,且後面的單詞以首字母大寫形式分隔。
*方法名盡量可以知道意思,名字長點沒事
*方法嗎有get字首,避免和變數的getter衝突
變數名:*變數名應能從名稱理解變數的含義,首字母小寫,後面的單詞以首字母大寫分隔
*成員變數使用「_」為字首:例:nsstring* _imagename;
常量: *(#define,
enums, const等)使用全大寫字母
#import vs #include:
*使用#import引入objective-c和objective-c++標頭檔案,使用#include引入c或c++標頭檔案
初始化與釋放:
*初始化方法中,不要將變數初始化為「0」或「nil」,那是多餘的
*初始化時要盡量用alloc和init方法
*建立臨時物件時,盡量緊接著就釋放(或直接在同一行加autorelease)
*dealloc中釋放變數的順序要和宣告的順序一致(有利於review**)
*如果dealloc中呼叫其他方法來release變數,將被release的變數以注釋的形式標註清楚
*dealloc的方法放在類實現開始位置,便於修改與檢視
其他:nsstring:*nsstring類變數的屬性,如需儲存,應使用「copy」,禁止使用retain,以防止以外修改了nsstring的值
delegate:*delegate物件使用assign,禁止使用retain。因為retain會導致迴圈索引導致記憶體洩露
。並且此型別的記憶體洩露無法被instrument發現,極難除錯
專案在iOS11上遇到的小問題
ios11正式版出了這麼久了,在忙完新版本開發,寫下在ios11上的一些小問題。心想既然圖示變了那麼launchimage呢,果不其然launchimage也有小變化為了適配蘋果即將售出的iphone x,這裡我們需要在這裡新增一張新的尺寸圖1125px 2436px。那麼究竟是什麼導致,在ios ...
iOS 開發中遇到的坑
用 建立了乙個view後能顯示,但無法響應觸控事件 出錯原因 可能是父view的frame為cgzero 使用cocoapods更新庫時,使用pod install無效。出錯原因 命令被牆 解決方法 pod install 換成pod install verbose no repo update這個...
在乙個開源專案的開發中遇到的問題
記得以前曾經有跟我們討論有關easyjweb的效率問題,大致意思是easyjweb用得少,沒有經過成熟專案的考驗,而struts應用案例比較多,所以用起更放心。我的看法是,easyjweb只是乙個mvc框架,在乙個j2ee應用中,mvc部分所承擔的任務是比較少的,真正影響系統效能的是系統中間層,即業...