如何做好程式猿?--個人心得

来源:http://www.cnblogs.com/penglei-it/archive/2017/01/19/feel_other.html
-Advertisement-
Play Games

摘要 在寫這篇文章之前,自己思索了很多,也是因為一些事情觸發了自己,使得自己想寫這麼一篇文章。也算是對2016年自己的一個總結吧。 正文 先說說我自己吧!本人16年於一所二本學校畢業,考過研,夢想著上北航,結果卻因政治考的太差沒能上,說起來很慚愧。英雄都不提往事,何況我這一個失敗的狗熊呢!不,是失敗 ...


摘要

       在寫這篇文章之前,自己思索了很多,也是因為一些事情觸發了自己,使得自己想寫這麼一篇文章。也算是對2016年自己的一個總結吧。 正文        先說說我自己吧!本人16年於一所二本學校畢業,考過研,夢想著上北航,結果卻因政治考的太差沒能上,說起來很慚愧。英雄都不提往事,何況我這一個失敗的狗熊呢!不,是失敗的程式員。好吧,有點亂,這事就算翻篇了。進入正題吧。          在得知自己考研失敗的消息後,於3月份來到武漢,在一個骨灰級別的IT公司找了一份實習生的工作。當時真的很佩服自己,因為考研的原因,自己差不多半年的時間沒有編程,在學校的時候學習的是.Net。在找這份實習的工作之前,自己僅僅花了5天的時間看了一下Java基礎中Servlet的知識。當然這也就導致了我入職後感覺工作非常困難,當時公司使用的是大家熟知的SSH框架,入職的第一個月自己每天搞到晚上2點,為的就是儘快熟悉自己目前所用到的知識和瞭解公司的框架(公司是專門做CRM系統的,有10多年的技術沉澱,整個框架封裝的非常厲害,想看懂確實得花一些時間,尤其對於我這種)。大概工作到六月份,請了20天的時間回校答辯。在公司這段時間,認識了一些新的朋友,新的同事,他們的工作年限從0-10年不等,自己確實也學到了一些東西。不過當時可能是由於自己剛畢業,很多東西不懂,所以每次領導分配的任務,自己都很擔心,害怕自己完成不了。對於項目,做完一個功能後,也沒有仔細測測,當時的一種心理狀態是,自己做的東西自己都害怕用,因為擔心會出bug。對於公司領導當時宣揚的一種工作狀態是:樂於接受問題,積極主動接受任務,少出BUG。如果滿分是100分的話,自己50分估計也得不到。               時間過的很快,畢業答辯也已完成,然而自己卻猶豫了,呆在這樣一個公司,一個框架封裝的這麼厲害的公司,一年以後自己出來,會不會什麼都不會了,和所有人一樣,我想進入一個互聯網的企業。所以我決定辭職了。          辭職後花了3天的時間面試,一天3家,面試了9家,收到了5個offer.後來自己選擇去了某電商公司,來到一個新的環境一切都是陌生的,但自己的心態和最初參加工作有了一些不一樣,我不在害怕了,我覺得任何技術只要肯學習,就一定可以學會。這家公司採用的是springmvc+doubbe+zookeeper的分散式結構。這次自己感覺到有些膨脹了,這些我都不懂,可是卻沒有一絲害怕。在四個月的時間里自己分別接觸了Redis,Mongdb,springmvc+doubbe+zookeeper,ElasticSerach,微信等等以及一些前端常用的知識。在項目中我也表現的很積極,只有有時間,就去鑽研這些自己不懂的地方,雖然有些原理還不是很懂,但是熟練的運用是沒有問題。也許是由於自己表現積極的原因,轉正工資公司給的稍微比普通應屆生要高一些。而項目經理也開始讓我負責一些項目。而這個時候自己的想法又發生一些改變。自己初出茅廬,不懂得地方還有很多,如何才能讓自己成為一個優秀的程式員呢?對於自己負責的項目,如何做才能使得項目達到最優。於是我給自己定了一些計劃。               每天早上我會提前一點時間到公司,我會看看其他同事寫的代碼,看看他寫的優秀的地方,我覺得這也是一個能提高自己的地方。可是正是由於自己天天看的原因,我發現代碼中其實有很多需要改進的地方。 諸如:
  • 需要動態配置的地方沒有動態配置,直接寫死在代碼中,不利於後期的維護
  • 重覆的new對象,沒有做到對象的重覆使用,使得大量的記憶體被消耗
  • 大量的重覆方法,沒有封裝為utils,供大家使用,造成浪費了很多開發時間
  • 代碼的抽象程度不高,一個類有的超過千行
  • 需要使用Redis提高頁面載入速度的地方,沒有使用Redis
等等一些諸如此類的問題。          對於有強迫症的我而言,這點讓我很煩。當然我讓他們改,他們的態度都是拒絕的,覺得可以用就行。但是站在程式員的角度,我覺得這些得過且過的想法是不可取得.所以我在想,那些號稱有多少年開發經驗的人,他們真正的達到了一個優秀程式員的程度嗎?這也許就是他們若幹年來,依舊是一個程式員的原因吧(不喜勿噴,我只是說出個人想法)。   所以我覺得一個優秀的程式員應該具備如下幾條:
  1. 有嚴謹的工作態度。
  2. 對自己的代碼能夠負責。
  3. 有積極的心態樂於接受問題的存在和改正問題
  4. 學無止境:程式員的世界需要學習的東西很多
這大概是自己一年來的一個感受。希望在新的一年裡,諸多程式猿們大家一起學習,我的格言是--我不夠優秀,但是我會努力讓自己變得優秀!  

結語

如果你還需要瞭解更多技術文章信息,請繼續關註白衣秀才的博客
個人網站:http://penglei.top/
Github:https://github.com/whitescholars
微博:http://weibo.com/u/3034107691?refer_flag=1001030102_&is_all=1
     
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一. 寫在前面 我這篇分享是很基礎的東西 我希望愛技術的你不要錯過exceptionless和ELK,當然你也可以用nosql+搜索技術比如es。 日誌系統對於任何項目都是必不可少的,無論對於測試階段的debug,性能測試,執行時間,操作記錄還是線上的問題排查,訪問記錄等,日誌系統都扮演著重要的角色 ...
  • 配置錯誤 不能在此路徑中使用此配置節。如果在父級別上鎖定了該節,便會出現這種情況。鎖定是預設設置的(overrideModeDefault="Deny"),或者是通過包含 overrideMode="Deny" 或舊有的 allowOverride="false" 的位置標記明確設置的。 ...
  • 在使用Ajax.Pager進行分頁的時候需要註意一下幾個方面: 1、一定要引入jquery.unobtrusive-ajax.min.js這個js; 2、一定要在頁面中使用註冊分頁器,註冊方法:@{Html.RegisterMvcPagerScriptResource();}; 具體的使用方法示例: ...
  • 作為一名使用C#語言開發人員,就很難逃脫與SQLSERVER打交道,雖說我們是開發人員,但我想說的是,對資料庫的操作還是應該時不時的拿出來溫習一番。下麵那就是我見過的一道有趣的SQL題目,與你們一起分享! 題目:在我的TeamPK資料庫中有一個叫department的表,裡面只有一個欄位name,一 ...
  • 問題描述:為了在C#中執行js腳本,在一個目標平臺編譯為Any Cpu的.NET程式集中引用了MSScriptControl組件,在winform程式中,調用這個程式集中的執行js的方法,沒有任何問題。但是在windows服務中調用卻報錯,報錯信息如下: 在嘗試過很多方法之後仍然沒有解決,包括將MS ...
  • 當獲取一個類型(class)的所有屬性時,想排除指定屬性,該如何操作? 比如:EF中一個實體類型UserEntity,通過反射獲取這個類的屬性時,想排除這個為映射的欄位ID 使用以下方法即可! 參考:http://stackoverflow.com/questions/2051834/exclude ...
  • 根據此鏈接博文學習配置: http://www.cnblogs.com/zyw-205520/p/4767633.html 1.JDK的安裝 自行百度,(最好是jdk1.7版本的) 測試如下圖,即完成jdk的安裝 2.MyEclipse安裝 自行下載安裝即可,(我使用的是2013版的) 3.Tomc ...
  • 1、隱藏tomcat版本: ①執行命令:cd /usr/local/tomcat_web/lib/ && ll 我們需要對catalina.jar進行解壓(最好提前先備份一下) ②執行命令:unzip catalina.jar 這時候會多出META-INF和org兩個目錄,找到org/apache/ ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...