《當程式設計師的那些狗日日子》(十三)重組程式

2021-08-25 20:06:51 字數 3054 閱讀 3743

幾個星期後,我已將**論壇系統的細節問題處理好,**論壇系統也終於可以擺上線了。看到我自己竟然也能做出乙個相對完整的論壇系統,我心裡感到很欣慰和興奮,並有幾分成就感。雖然這個**論壇系統放到整個網際網路上是那麼微不足道,但畢竟它是我幾個月來的心血,或者說從我剛開始學習**開發技術時起,我就傾注了很大的心血,這是我付出很大心血後的「結晶」,所以顯得彌足珍貴。

盈回家過完春節後,她的家人希望她留在家中的縣城工作,而且她不久後就在縣城的乙個公益性機構找到了乙份差事,所以她就留了下來。但是我和盈仍保持著聯絡,除了平時在qq上聊天外,有時我也會給她打**。**中盈總是很樂意跟我說她最新的情況,說她工作中的事情,說她的煩惱,言談間聽得出來她並不喜歡目前的工作,她還想再到北京來,但是她家人又希望她留在縣城工作,所以她內心很矛盾。

盈的老家是在河北承德下面的乙個縣,到北京來很方便,如果此時我讓她辭掉那份工作而再到北京來,我想她一定會辭掉那份工作的。但我並沒有讓她辭掉那份工作,而只是在qq上或**中開導她,給她解悶,我更多的還是把她當成乙個妹妹來看待。所以後來盈就繼續做著那份工作,一直到後來我也不知道的某個時間。

交由萬網公司去做的網頁改版的工作仍在進行中,雖然他們的設計人員已設計出了**首頁效果圖的好幾個版本,但都不能讓小李總覺得滿意,究其原因,一是因為他們的設計人員也並非是什麼高手,難勝任務;二是因為他們的設計人員畢竟對我們公司的票務業務需求不了解,不能真正理解網頁上要實現的功能效果和布局。因此網頁改版的工作仍不能在短時間內完成,我們只好繼續等待。

由此也可見,雖然萬網公司規模較大,但他們的設計人員也無非是像我或小京這樣的職場之人,其水平難免有高有低,所以萬網公司的設計實力也不見得一定就強。

**論壇系統擺上線後,雖然偶爾會遇到一些小bug需要修正,但問題畢竟不多,所以我上班時反而出現了難得的空閒狀態。這正好給了我乙個難得的時機,我可以利用這些空閒時間去重新組織公司**類庫專案的程式**,以便在網頁改版工作完成後需修改公司**的程式時,我可以進行改動。

借助reflector這個反編譯工具,我又將由公司**的類庫專案所編譯出來的dll檔案進行反編譯,然後再閱讀這些反編譯出來的程式**。我給自己定的要求就是,一定要將這些程式**讀懂後,才將其放到之前已建立起來的新類庫專案中去重新組織起來。除了閱讀這些反編譯出來的程式**外,我還需要結合**頁面的**後置類檔案程式**、**的資料庫和**功能的實際操作來一起理解。這是一套系統性的**系統,所以只有這樣結合起來才能真正讀懂這些反編譯出來的程式**,並弄明白公司**程式所反映的實際業務邏輯,也只有這樣,我才能真正對公司**程式有乙個全面的了解和把握。

自己編寫程式是一回事,閱讀別人開發出來的程式又是一回事。自己編寫程式,我可以按照自己的思路去進行,但閱讀別人開發出來的程式,我就必須將自己的思路轉變成開發者的思路。尤其是此時我所閱讀的,是asp.net程式,而asp.net是我剛剛學習過、但還沒有真正用於開發實踐中的。所以這對我來說難度不小。而且公司**的這些asp.net程式本身也相對複雜,所以我讀起來就難度更大。

但是這些難度相對於我幾乎從零開始去學習**開發技術的難度來說,以及相對於我將那本厚厚的六百多頁的asp.net的書學完的難度來說,幾乎不值一提。於是我憑著自己的執著和毅力,又開始了新一輪的嘗試。

很多事情往往都是你嘗試過後才知道,原來你行。經過一番努力,在克服最初的困難後,我對這些asp.net程式的閱讀變得越來越順暢,而且從閱讀這些程式中,我也漸漸理解了開發者的思路,通過閱讀這些程式,我彷彿和這位開發者有了思想上的交流,我碰撞到了他開發思想中的精髓。這使我更深刻地理解了asp.net的機制和原理,以及領悟到了他作為程式設計師的良好的編碼風格。他編寫的每一行**,都幾乎作了最嚴謹的處理,以力求使程式做到簡潔明瞭且邏輯準確無誤,這正是一名合格的程式設計師的基本素質。正是受此影響,在後來我所做的開發中,我都盡量要求自己將**寫到最規範,並嚴格要求自己做到使程式邏輯準確無誤。而且此時我在閱讀中所看到的一些寫得很好的函式和方法,我在日後的開發中也用到了。

雖然reflector反編譯出來的程式**跟原**在格式上(主要是變數名)會有一定的出入,但實際的程式邏輯並沒有改變,所以我每讀懂了一段**後,只需將其稍作修改後就可以將其用到新類庫專案中。閱讀程式變得容易了,重新組織程式**的工作也變得輕鬆起來。雖然不是自己開發,但這就像站在別人的肩膀上,可以看到更多和看得更遠。在重新組織程式**的過程中,我漸漸地感覺到自己在asp.net和資料庫儲存過程編寫等方面的水平都得到了很大的提高。我也開始對修改公司**的程式和核心功能有了信心,只要我將那些類庫專案的程式**全部重新組織好後,我就可以去做這項工作了。

我不得不由衷讚嘆的是,公司**的購物車功能、訂單處理功能、票品產品發布功能等功能都做得很好,而且程式也寫得很好,尤其是那個票品產品發布功能,在資料庫的儲存過程中用了三層巢狀的迴圈來處理資料的寫入,可以一次就實現一場演出的多場次、多票價的資料寫入,使功能操作簡單便捷,工作高效。

聽小魏說,公司**程式就是上一程式設計師所開發的,那個程式設計師已在公司做了很久,原來公司**程式是用php做的,後來他則用asp.net將其重做了一遍,這即是此時公司**的程式。當然小魏並不懂得php和asp.net是什麼,這是我根據她所說的內容理解出來的。小魏說,上一程式設計師也不是計算機專業畢業,而是靠自學學會的,而且水平也很厲害,但他要比我大好幾歲,這時他應該30歲左右。所以我姑且稱他為仁兄。

我根據網上所查資訊得知,vs2003於2023年推出,這位仁兄在我2023年10月入職前已用vs2003(asp.net 1.1)來開發公司**程式,而在我在公司所使用的電腦上我也曾看到過這位仁兄使用過vs2002(asp.net 1.0)的記錄,由此可見這位仁兄早在2023年vs2003剛推出不久時,就熟練運用asp.net來進行開發了,他是應用asp.net的「先行者」。

這無疑給了我很大的鼓舞和信心,原來不是計算機專業畢業而走進程式設計師行列的,並不是只有我一人,而眼前的例子也證明了,不是科班出身也同樣可以做得很好。

小魏說,在招聘我進來之前,這位仁兄正在做公司**的新功能,但當時的總經理,即後來招我進來的那位經理的朋友,一再要求這位仁兄加快開發速度,而且給這位仁兄的開發需求不斷變更,所以這位仁兄一氣之下就辭職走人了,而且工作還沒有交接完就離開了公司。

後來在我也到了快30歲,並也成了一名技術「小牛」的時候,我完全理解了這位仁兄一氣之下就辭職走人的做法,對於那些不斷要求加快開發速度、不斷變更開發需求的做法,我也深惡痛絕。

直到現在,我都清楚地記得小魏所說的,這位仁兄是天津人,而他的名字就叫津。這位未曾謀面的仁兄,謝謝他!是他開發的這套程式讓我在asp.net上走得更快。

當程式設計師的那些狗日日子 摘錄

有時候乙個決定,就是一種人生軌跡。人生路上,有時聚散總是太匆匆,即使在分別一刻,心裡仍有很多話無從說出口,只能留在彼此心中。毫無疑問乙個人的信念很重要,此時的我偏偏就是缺少了一種信念,一種不斷向上奮鬥 積極進取的信念,所以少了這種信念,我也就出現了懈怠的情緒,這就直接影響到我工作的狀態。今天很殘酷,...

《當程式設計師的那些狗日日子》(五十三)破局(下)

時間一天過去了,又一天過去了,卻還不見公司招到人來和我做工作交接,不過我倒是 氣定神閒 公司招不到人來和我做工作交接是公司的事情,我該走的時候還是會走。雖然我還是希望快點招到人來和我做工作交接,但是我心裡又不希望那些應聘的同行進來這家公司,因為我不想他們進來後也像我一樣,要遭受同樣的痛苦。在新的周一...

《當程式設計師的那些狗日日子》(五十)無限愧疚

雖然之前我一直在猶豫著 掙扎著要不要離開這家公司,但到了這個時候,已是年終歲末的了,我還是暫時不想作考慮,而決定等過了春節後再作打算。一天捷給我打來了 他說他才知道了我和豔的事情,覺得十分不好意思,沒幫上忙,反而幫了倒忙。但是我倒是覺得無所謂,並再次謝過捷的好意。一天阿凌約了祝老師過來公司,加上我,...