自我評量&心得、學習
自我評量&心得
在期中的報告中提到,我在對於程式相關的問題時,我會時常需要花很長的時間在思考解決方案,尤其是有大量需要邏輯思考的問題時,更是如此。但在經過這段時間的訓練之下,似乎也有小幅的在慢慢前進,慢慢對於問題的思考有了一些方向。就像我在前面「實習期間完成的進度」第三部分中提到,在解讀文字文件檔案時,我需要花很多的時間來思考,如何將一個很複雜的文件問題,轉換成可以讓人方便閱讀的表格。遇到這個問題的時候,一開始光是用紙本的方式去拆解,就花了我非常多的時間。雖然在思考的同時,也有將其他的功能作出來,但這個仍然是這支程式中最核心的部分。但是在經過回家思考的過程後,好好靜下心來想這個問題之後,卻也是在幾番測試之後成功取出正確的數值。我認為那次的訓練,儘管因為思考的時間太長,沒能被用在正式的環境中,但卻給了我很多的啟發。透過一次一次的累積,在碰過十種、一百種不同的問題之後,當再次碰到新的挑戰時,利用先前獲得的經驗也能解決新的問題。尤其是當一次一次的錯誤和缺失,在被適當的調整之後,若能確實的記在腦中當作自己的養分的話,未來的程式撰寫也能長出屬於自己的一棵大樹。
學習
程式相關學習
在程式學習的方面,因為有大量的學習機會與花大部分的時間都在寫程式上,所以我有學到非常多。以下以列點舉例
-
在整個程式的運作有卡頓的情況時,可以將select語句中含有%名稱‘的部分拿掉即可改善,因為在跑模糊搜尋的時候會比較花時間
-
若要將Dropdownlist的預設選項設成「請選擇...」可以在外config加上‹app setting› ‹add key="emptyitem" value=”請選擇...” › ‹app settings›
-
SQL的語句盡量寫在同一句中,不要用”+=”或是@(從別處抓取資料欄位名稱)的方式來從別的地方帶入值。因為如果用+=,很可能因為人為失誤而加錯行列;而如果運用到@的話,就還需要從不同的地方進行欄位的抓取和選擇,很可能會抓不到資料
-
GridView的資料可以先把從資料庫中讀取到的資料放入一個DataTable中,再做檢查與運算
-
從SQL語法中,談論”TOP 100”的重要性。若是在測試時,有需要搜尋大筆資料的情況(資料量大於1000筆)時,若未將”TOP 100”寫入搜尋條件時,很容易在讀取資料時,出現Server卡頓的現象。但若是在正式環境中,則須將"TOP 100"拿除,因為客戶的需求並不會只需要前一百筆的資料,而是需要看到全部的資料,所以須改回”*”
-
DataReader是需要即時連現型;而DataTable 和Dataset是離線型,可以存取資料庫中的檔案。
-
可以利用像是appcode資料夾,把那些常用或是比較複雜的判斷式放在這裡面。可以建一些.CS的程式放在裡面,之後在需要時,可以在主程式裡呼叫
-
如果要抓取程式中某一控制項的ID時,可以利用 FindControl(“他的ID名稱”)。特別是需要抓取Gridview中的特定控制項時,就可以這麼做。舉例而言,當我們要取得Gridview中Checkbox的勾選與否時,就可以寫作FindControl(“Checkbox1”)的形式。(但要記得將Checkbox等需要取得的欄位轉換成Template)
就像以上所述,這些都是我在程式撰寫的過程中,所得到的心得與筆記。我的習慣是會在碰到沒有接觸過或是容易搞混的地方時,立刻做筆記。而在經過半年的實習後,我就收集到各式各樣的知識集,獲益是非常多。
程式以外學習
在程式的撰寫以外,就如同我在作業介紹中所提到的,在資訊管理部門中,我們不只會接觸到系統最直接的撰寫過程,更電腦相關的問題,同事們最直接的詢問對象就是我們。而我在這段期間,碰過了幾位同仁來詢問電腦相關的問題,他雖然是跟程式無關,但卻是會包含各式各樣的疑難雜症。出現在手機上的、電腦上的或是各式只要跟資訊有關的,都會被詢問。一開始我都會很不知所措,不知道我應該要回答什麼,所以就直接將電話轉接給主管或同事來處理。但有些時候,當大家都在非常忙碌的工作時,我認為我也因該要學著處理才行,所以就試著了解對方的問題之後,依照自己的想法去解決。雖然次數不多,但也能讓我幫上忙了幾次。一次次的成功解決也讓我慢慢抓到應該要如何處理這種類型的問題。在這之後,我相信在遇到更多不同種類的問題之後,我對於事情的處理也能更加得熟悉且變的得心應手。
另外就是一樣在前面有提到的,利用英文寫關於系統提升所需的報告書。在這個報告書中,需要寫到原因、升級內容描述等等敘述的英文。這是我第一次撰寫如此正式的文件,很多用詞都還停留在較為口語的用法。因為與平常在學中與日常閒聊所用的英文有些不同,所以在一開始書寫的時候還是很陌生。但儘管第一次寫的結果勉強能合乎當初的目標,卻讓我認知到僅有目前程度的英文是不夠的,尤其許多資訊相關的專業用語,是我最缺乏的領域。在透過這次的經驗後,讓我有了精進英文不同領域的動力與決心。
而在編寫使用說明書時,我突然深切的感受到介面編排的重要性。在一整篇說明書中,要能讓讀者快速看懂以及要清楚的標示每個功能的位置與狀態,這些都深深地與文字的編排有著絕對的關係。在圖片中,一大堆不必要的資訊,以及因為螢幕截圖所呈現不清楚的字體,這些都是需要經有說明書編寫時,一一調整到能讓讀者一目了然。若是有看不清楚的地方,不僅會讓使用者沒有耐心把他看完,更會讓一篇原本就很複雜的內容,變得更不易懂;少了清楚的標示以及箭頭的輔助,或許會讓畫面看起來比較清靜,但卻讓通篇一律的文字呈現顯得複雜且不耐看。所以在每個呈現方式的相輔相成中,再加上對於文字字型、字體、位置的調整與各項圖片的搭配之下,一篇完整的使用說明才能完成。這樣的呈現方式便是我還正需要學習的部分。