chunchiahsieh wrote:
資料結構中的雜湊表
運作原理是什麼?
怎麼實作?
http://ccckmit.wikidot.com/code:hashtable
其中也包含很多重要的概念
對於系統速度的提升
跟撰寫技巧也是有幫助的
面試時考這題大概就能刷掉一半的人了
你說的是確實的
但是這是本科系學生在學校的必修 "資料結構與演算法" 裡面的東西
我剛剛提過的那位同仁, 寫一個存資料的物件....
把 hashCode() equals() 寫了很長很長的邏輯.....
結果這物件...
既不會是 HashMap(Hashtable) 的 key
也不會拿來做 equals.......
看到的時候, 我又長嘆了一口氣........
Pan.tc328 wrote:
//這樣的程式碼卻...(恕刪)
我起初都以信任 team member 的態度做事
一個高效率團隊, 就是每個人都要有高度的自我管理與自我領導能力(我當然也會用MBO做控管)
所以我很少code review, 也不用一些 fortify sca 或 firebug 等軟體去掃描(除非甲方有要求....)
但是若有不ok的 team member, 在這種運作模式下立刻原形畢露
code重複一直貼就算了, 至少那邏輯要是對的吧..... 這很基本...結果也不是這樣.....
前一個案子還自作聰明, 不按我設計的流程去做, 結果問題重重驗不過...
(乾~!, SA/SD 我都用 UML 畫好了, 大家都看得懂照做就你給我自作聰明...客戶訪談又不是你去做的!)
禁不起客戶逼問問題, 開始跳針推卸責任, 害PM被客戶被甲方主管砲轟... 甲方還嗆聲要他不要再來了
後來... 我只好被迫接手程式... 花兩周去改正...
shukae wrote:
這位同仁固執, 本...(恕刪)
看開一點吧!
如果可以就請他換個工作環境
對他對你都會比較好
溝通很重要

shukae wrote:
在 java, 物件變數是存 reference
classABC a = new classABC();
整個動作會使用到兩個記憶體區塊Stack與Heap
從class到object稱為instance(實體化)
classABC a是一個指向heap記憶體位置的變數
不同的作業系統大小會不一樣
32位元長度是4byte
64位元長度是8Byte
而new classABC()這個動作
JVM會去取得classABC定義
在heap建立一個Class所需大小的記憶體空間
然後根據classABC的設定
初始化變數與函示指標
這只是簡單描述"實體化"的過程
細節有興趣的人再自己研究吧
在JVM中classABC a是一個指標
當classABC a被建立在stack時
JVM會把NULL當作初始值設定給變數
什麼是NULL,其實就是0
但又有點不太一樣...
http://stackoverflow.com/questions/5188822/what-is-the-difference-between-null-and-0
http://stackoverflow.com/questions/8128024/where-is-null-in-memory
java很貼心地將這些工作都做好了
寫程式時就不會去在意這些事情
只要懂得怎麼用就行了
向大大所提到的
>>在 java, 物件變數是存 reference
>>但要判斷物件是否有效存在, 就是用使否為 null 判斷呀
>>一旦 new 出來, 變數就不會是 null
保哥針對class與object也寫了幾篇解釋
http://blog.miniasp.com/post/2009/08/27/OOP-Basis-What-is-class-and-object.aspx
http://blog.miniasp.com/post/2009/10/01/OOP-Basis-What-is-class-and-object-ANSWER.aspx
shukae wrote:
把 hashCode() equals() 寫了很長很長的邏輯.....
結果這物件...
既不會是 HashMap(Hashtable) 的 key
也不會拿來做 equals.......
看到的時候, 我又長嘆了一口氣........(恕刪)

奇耙...這個人是人才阿
Pan.tc328 wrote:
//這樣的程式碼卻一再重複貼上使用....... 結果到處都有這樣的程式
1.code 重複,那就是有問題的寫法
其實很常遇到這種情況
尤其是內建的元件
很多公司就不會特別去加工
像shukae大大貼出來的程式碼
DriverManager.getConnection
正常來說應該特定幾個人會用到
之後其他同仁不是處理後端資料的
使用這個function我就覺得怪了
如果把這個function寫在前端USER使用的應用程式中
也會有安全性問題
備註:
shukae大大
沒有要筆戰的意思
如有冒犯請多見諒
1.Coder 打字員,薪水22K,我叫他做什麼,就做什麼,不用問為什麼,你就給我做就對了
2.Programmer 程式設計師,薪水40k,你去研究什麼寫,研究好跟我報告,我會告訴你哪裡有問題,做好我Review
3.軟體工程師,薪水60k,你自己決定怎麼做,我會抽查
4.系統分析師,薪水100k,你只要報告進度就好了
5.再上去,分紅,你只要報告賺多少錢就可以了
你是那一級,草包就是草包,Leader就是要用心跟GY的帶
UML..我不止UML我都產生Code了,整個架構,虛擬實作,主要核心都做掉
他們只要照時程,去把方法實作部分寫出來
方法的input,output 我全部定好
什麼多形,委派,降偶..Adapter,Singleton..底成的工程師完全碰不到,他們只需要繼承 Override虛擬實作就可以了
chunchiahsieh wrote:
我從學c語言開始
基礎c語言大概14天就能學會了...
專精需要好幾年...
易學難精
先了解資料型態,流程控制,array,point,structure,function,後
基本程式概念就有了
不難...
接著學c++ ,win32 api,mfc,php,mysql,java,object-c,c#,vb.net,design pattern,sopa,jquery
學程式學習路徑像是一個倒三角形,只要會一種後,學別的就會很快
寫到最後除了語法差異外,後期幾乎都只是在考慮命名與架構上的問題
寫程式對我來說是一種習慣...
習慣好壞決定了這個系統的未來..
...(恕刪)
經典之言..

內文搜尋

X