第一篇:程序員的自我修養總結(一)
1、通過學習《程序員的自我修養》,重新對棧,堆,靜態存儲區的認識。
解答:
局部變量存放在棧中,全局變量和靜態數據存放在靜態存儲區,在二進制代碼中,顯示在數據段。
對于一個進程的內存空間而言,可以在邏輯上分為3個部分:代碼區,靜態數據區和動態數據區。動態數據區一般就是堆(heap)棧(stack)。
堆和棧是兩種不同的動態數據區,棧是一種線性結構,而堆是一種鏈式結構。
棧:只要棧的剩余空間大于所申請空間,系統將為程序提供內存,否則將報異常提示棧溢出;
在Windows下,棧是鄉下生長的,是一塊連續的內存區域。這句話的意思是棧頂的地址和棧的最大容量是系統預先規定好的,在Windows下,棧的大小是2M(也有的說是1M,總之是一個編譯時確定的常數,棧的大小由編譯器設定),如果申請的空間超過棧的剩余空間時,將提示overflow。
堆:首先應該知道操作系統有一個記錄空閑內存地址的鏈表,當系統收到程序的申請時,會遍歷該鏈表,尋找第一個空間大于所申請空間的堆結點,然后將該結點從空閑結點鏈表中刪除,并將該結點的空間分配給程序,另外,對于大多數系統,會在這塊內存空間中的首地址處記錄本次分配的大小,這樣,代碼中的delete語句才能正確的釋放本內存空間。另外,由于找到的堆結點的大小不一定正好等于申請的大小,系統會自動的將多余的那部分重新放入空閑鏈表中。
堆是向高地址擴展的數據結構,是不連續的內存區域。鏈表的遍歷方向是由低地址向高地址。堆的大小受限于計算機系統中有效的虛擬內存。由此可見,堆獲得的空間比較靈活,也比較大。
棧是由系統自動分配,速度較快。但程序員無法控制。
堆是由new分配的內存,一般速度比較慢,而且容易產生內存碎片,不過用起來最方便。
棧由編譯器自動分配釋放
堆由程序員分配釋放
靜態存儲區由系統釋放
2.對ELF文件裝載的總結
ELF文件裝載的步驟如下:
首先在用戶層,bash進程會調用fork()系統調用創建一個新的進程,然后新的進程調用execve()系統調用執行制定的ELF文件,原先的bash進程繼續返回等待剛才啟動的新進程結束。
在進入execve()系統調用后,Linux內核就開始進行真正的裝載工作。在內核中,execve()系統調用相應的入口是sys_execve(),sys_execve()進行一些參數的檢查復制之后,調用do_execve()。
do_execve()會首先查找被執行的文件,如果文件找到,則讀取文件的前128個字節(主要是判斷文件類型)。當do_execve()讀取了這128個字節的文件頭部后,然后調用search_binary_handle()去搜索和匹配合適的可執行文件,search_binary_handle()會通過判斷文件頭部的魔數確定文件的格式,并調用相應的裝載處理過程,比如,如果是elf文件,則調用load_elf_binary();這個裝載函數的主要步驟是:
(1)檢查ELF可執行文件格式的有效性,比如魔數、程序頭表中段(Segment)的數量;
(2)尋找動態鏈接的“.interp”段,設置動態鏈接器路徑(與動態鏈接有關)
(3)根據ELF可執行文件的程序頭表的描述,對ELF文件進行映射,比如代碼、數據、只讀數據。
(4)初始化ELF進程環境,比如進程啟動時EDX寄存器的地址應該是DT_FINI的地址
(5)將系統調用的返回地址修改成ELF可執行文件的入口點,這個入口點取決于程序的鏈接方式,對于靜態鏈接的ELF可執行文件,這個程序入口點就是ELF文件的文件頭中e_entry所指的地址;對于動態鏈接的ELF可執行文件,程序入口點是動態鏈接器。
當load_elf_binary()執行完畢,返回至do_execve(),再返回至sys_execve()時,上面的第5步中已經把系統調用的返回地址改成了被裝載的ELF程序的入口地址了。所以當sys_execve()系統調用從內核態返回到用戶態時,EIP寄存器直接跳轉到了ELF程序的入口地址,于是新的程序開始執行,ELF可執行文件裝在完成。
下面總結Linux中動態鏈接的過程
一、首先理解與動態鏈接相關的幾個段
與動態鏈接相關的幾個段(sections),下面這幾個段既可以在共享對象中,也可以在可執行文件中(當然,通過靜態鏈接生成的可執行文件是不存在如下段的)。
1.“.interp”段,指明了動態鏈接器的位置
2.“.dynamic”段,可以看成是動態鏈接下ELF文件的“文件頭”,這里面保存了動態鏈接器所需要的基本信息,比如依賴于哪些共享對象,動態鏈接符號表的位置、動態鏈接重定位表的位置、共享對象初始化代碼的地址等。
DT_SYMTAB動態鏈接符號表的地址“.dynsym”的地址
DT_STRTAB動態鏈接字符串表的地址“.dynstr”的地址
DT_STRSZ動態鏈接字符串表大小
DT_HASH動態鏈接哈希表地址“.hash”的地址
DT_SONAME本共享對象的“SO-NAME”
DT_RPATH動態鏈接共享對象搜索路徑
DT_INIT初始化代碼地址(這對應于“.init”段的地址)
DT_FINIT結束代碼地址(這對應于“.finit”段的地址)
DT_NEED依賴的共享代碼文件,DT_REL動態鏈接重定位表地址
DT_RELA
DT_RELENT動態重定位表入口數量
DT_RELAENT
3.“.dynsym”動態符號表,這個表只保存了與動態鏈接相關的符號
4.“.rel.dyn”段和“.rel.plt”段。“.rel.dyn”實際上是對數據引用的修正,它所修正的位置位于“.got”以及數據段;而“.rel.plt”是對函數引用的修正,它所修正的位置位于“.got.plt”
二、然后理解動態連接器的作用和實現方法
在Linux下,動態連接器ld.so實際上是一個共享對象,操作系統同樣通過映射的方式,將它加載到進程的地址空間中。操作系統在加載完動態鏈接器之后,就將控制權交給了動態鏈接器的入口地址(與可執行文件一樣,共享對象也有入口地址)。當動態鏈接器得到了控制權之后,它開始執行一系列自身的初始化操作(自舉),然后根據當前的環境參數,開始對可執行文件進行動態鏈接工作。當所有動態鏈接工作完成之后,動態鏈接器會將控制權交到可執行文件的入口地址,程序開始執行。
動態鏈接器入口地址即是自舉代碼的入口,當OS將進程控制權交給動態鏈接器時,動態鏈接器的自舉代碼即開始執行。自舉代碼首先會找到它自己的GOT。而GOT的第一個入口保存的即是“.dynamic”段的偏移地址,由此找到了動態鏈接器本身的“.dynamic”段。通過“.dynamic”中的信息,自舉代碼便可以獲得動態鏈接器本身的重定位表和符號表等,從而得到動態鏈接器本身的重定位入口,先將它們全部重定位。從這一步開始,動態鏈接器代碼中才可以開始使用自舉的全局變量和靜態變量。
三、動態鏈接器完成鏈接的過程
完成基本自舉以后,動態鏈接器將可執行文件和鏈接器本身的符號表都合并到一個符號表當中,我們可以稱它為全局符號表。然后鏈接器開始尋找可執行文件所依賴的共享對象,在可執行文件的“.dynamic”段中有一種類型的入口DT_NEEDED,它所指出的是該可執行文件(或共享對象)所依賴的共享對象。并將這些共享對象的名字放入到一個裝載集合中。然后鏈接器開始從集合里取一個所需要的共享對象的名字,找到相應的文件后打開該文件,讀取相應的ELF文件頭和“.dynamic”段,然后將它相應的代碼段和數據段映射到進程空間中。如果這個ELF共享對象還依賴于其它共享對象,那么將所依賴的共享對象的名字放到裝載集合中。如此循環直到所有依賴的共享對象都被裝載進來為止,當然,鏈接器可以有不同的裝載順序,如果我們把依賴關系看做一個圖的話,那么這個裝載過程就是一個圖的遍歷過程,鏈接器可能會使用深度優先或者廣度優先或者其它的順序來遍歷整個圖,這取決于鏈接器,比較常見的算法是廣度優先。
當一個新的共享對象被裝載進來的時候,它的符號表會被合并到全局符號表中,所以當所有的共享對象都被裝載進來的時候,全局符號表里面將包含進程中所有的動態鏈接所需要的符號。
當上面的步驟完成后,鏈接器開始重新遍歷可執行文件和每個共享對象的重定位表,將它們的GOT/PLT中的每個需要重定位的位置進行修正。因為此時動態鏈接器已經擁有了進程的全局符號表,所以這個修正過程也顯得比較容易,跟我們前面提到的地址重定位的原理基本相同。重定位完成之后,如果某個共享對象有“.init”段,那么動態鏈接器會執行“.init”段中的代碼,用以實現共享對象特有的初始化過程,比如常見的,共享對象中的C++的全局/靜態對象的構造就需要通過“.init”來初始化。相應地,共享對象中還可能有“.finit”段,當進程(指可執行文件對應的進程)退出時,會執行“.finit”段中的代碼,可以用來實現類似C++全局對象析構之類的操作。
如果進程的可執行文件也有“.init”段,那么動態鏈接器不會執行它,因為可執行文件中的“.init”段和“.finit”段由程序初始化部分代碼負責執行(我們將在庫這一部分學習程序初始化)。
四、對鏈接過程中出現版本交會問題的解決方法
動態鏈接庫在查找共享庫過程中,會出現次版本號交會問題,此時通過基于符號的版本
機制方案來解決。程序員可以在鏈接共享庫時編寫一種叫做符號版本腳本的文件,在這個文件中指定這些符號(導入和導出符號)與集合之間及集合與集合之間的繼承關系。鏈接器在鏈接時根據符號版本腳本中指定的關系來產生共享庫,并且設置符號的集合與她們之間的關系。實際上是這樣子的:
1.在構造共享對象時,在共享對象中加入符號版本腳本文件,得到的共享對象就含有版本信息
2.若其它共享對象或可執行文件引用此共享對象,則其中就會包含相應的版本信息
3.如果在版本信息低于此共享對象或可執行文件的系統中運行,動態鏈接器就會報運行錯誤。
第二篇:動力節點java——聊一聊java程序員的自我修養
動力節點java——聊一聊java程序員的自我修養
程序員提高自我修養是為了什么?
程序寫的好有人崇拜,有妹子喜歡?還是到博客、論壇、社區發表文章進行分享獲得成就?我想這是少數人的追求,也是更高的追求,在這之前
我認為,在中國,程序員提高自我修養的目的,是為了:
1、更好的融入工作,減少困難,增加成就
2、穩步的提升能力,提高收入,達成財務自由
2、站在更高的層面看待自己的學習和工作,樹立更加適合的人生觀價值觀,家庭幸福,生活愉快
說的更通俗一點,就是用更加合理的方式和方法,賺取到更多的收入
說了這么多廢話,進入正題
何為程序員的自我修養?
正面論述很難說清楚,反向描述可能更通俗易懂一些,自我修養的對立面是“沒有修養”,先說一說在這么多年的工作、學習、生活中,遇到的一些我認為“沒有修養”的程序員形態:
1、程序員小張遇到了一個開發問題,很著急,想到了有幾個群,于是到群里發了他的問題,坐等回答,發現沒有人回答,就直接對話群主的QQ,群主也不回答,于是小張就搜索,突然搜到博客園有個帖子講解了相關話題,他看完就給博主留言,我的郵箱是:XXXXX@qq.com,麻煩博主把源碼發給我一下,謝謝。
2、程序員小張進公司3個月了,老板布置了很多任務,他覺得老板很沒人性,工資給的不高,加班也不給錢,于是在寫代碼的時候能省就省,客戶反饋有問題也不主動解決,敷衍為主,又過了一個月,跳槽了。
3、程序員小張正在寫一個功能模塊,需要進行某種加密,到百度搜到了一個編碼模塊,看不明白具體寫了什么,但是放到程序里剛好適用,于是就這么原封不動放進去了。
4、程序員小張要對某個功能進行研發,項目經理對他說,這個功能應該能搜索到,你去搜搜看,小張就在百度搜啊搜,一天過去了啥都沒找到,項目經理來到小張身邊坐下,換了個關鍵詞,1分鐘就搜到了解決方案。
5、程序員小張學.NET已經工作3年了,工資還是10000,和公司提漲工資也沒答應,想跳槽又猶豫,這時某個前輩對他說,你去看書吧,多看一些書,例如 《Visual C# 從入門到精通》,《CLR via C#》《Javascript權威指南》等等,于是小張買回來了,隨手翻了翻發現有些東西是他已經會的,有些看不懂的好像又用不到,而且書這么厚,要不要浪費時間去看呢?小張就這樣反復糾結了半年,依然每天上班工作,下班LOL,偶爾還抱怨一下工資低。
6、程序員小張到了一家新公司,在做一個項目實現某個功能時,想起來以前做過這樣的功能,可是竟想不起怎么實現了,于是就到自己電腦上找文檔,找了好久也沒找到,只好放棄,最后又折騰了2天,終于還是把這個功能給實現了。
7、程序員小張某天非常不高興,因為他的項目經理和項目組的產品人員又變更需求了,新的需求又要對整個結構進行大的調整,小張很郁悶,到一個QQ里發泄情緒,說了這個事,于是立馬,QQ群里面炸開鍋了,程序員小李說,對,產品就是狗日的!程序員小王說,對,他媽的項目經理整天高枕無憂,就知道壓榨開發人員!程序員小孫說,是的是的,我上一家公司也是這樣,壓榨程序員,幸好我走了。就這樣,在一片罵聲中,幾個程序員心情舒暢了,小張開心的去玩王者榮耀去了。
我想,有些人可能已經明白我要說什么,有些人可能還不明白,具體的話我也說不出來,只能用一句話來概括就是:
在編寫代碼的過程中,善于學習、掌握方法、勤加思考、勤奮努力、持之以恒,長此以往,在編程中,你會發現不一樣的自己。
以上這些還是比較抽象,那么
提升自我修養的具體方法有哪些?
程序員具體如何達成“較高的修養”,每個人各有自己的辦法,我無法說到很細,就和如何提高做人修養一樣,一句兩句話是說不清楚的,但是有些說法也通俗易懂,比如一個小孩,有教育良好的父母,父母彬彬有禮,小孩從小開始接受正規教育,小學、初中、高中、大學,然后文化課程和社會實踐良好,那么這個小孩最終的做人修養,一定比沒有經歷過這個過程的小孩更好一些。
同樣的,寫程序也是如是,下面我就講一些最基本的、最淺顯易懂的學習方法和道理,我把它叫做:
程序員基礎的基礎
一個好的開發人員,應該能夠全面、高效、嚴謹的去處理任何軟件程序和業務問題,成為一個好的開發,是一個很有意思的話題,不過無論這個話題如何開展,基礎兩個字必不可少,雖然代碼量是衡量開發能力的重要指標,但僅能夠熟練的進行代碼編寫是不夠的,更要能深刻的理解技術原理和業務邏輯,扎實的個人基礎和技術基礎往往會促進代碼的編寫,更游刃有余的解決問題。
下面說的一些基礎,可能絕大部分開發人員都不會在意甚至忽略,但恰恰這些才是開發大廈的基石。
1、科學基礎
成為開發人員的過程不盡相同,有的是科班出身,有的是興趣愛好,還有的是專業機構的培訓,在這個過程中,可能全面或者零散甚至沒有學習過計算機基礎學科,但無論是哪一種,想要成為更高層次的開發人員,寫出更高質量的代碼,計算機基礎學科的學習,是非常非常非常(重要的事情說三遍)重要的。具體的來說,基礎學科在實踐應用中,有如下幾門是一定需要的,按照學習順序排列如下
1)數據結構 數據結構課程通俗的說就是告訴你如何用最基本的語言類型、變量,關鍵詞語句等,去處理各式各樣的邏輯問題,我們稱之為算法,而日常編程中的各種問題,例如排序、文件夾遍歷操作、數據庫查詢等,都可以在數據結構課程中,找到對應的數學原型。數據結構課程的理解能力,也是一個人數學能力的體現,數據結構學習的好壞,是程序員水平差異的一個重要分水嶺,對于這一塊內容的學習,有如下建議:使用VB、C、C++、Pascal等語言,買一本相關語言數據結構與算法的書,或者在網上下載相關的PDF電子書,完整的學習一邊,并將書本中的所有案例親自編寫運行調試一遍,當能夠領悟到某些日常編程中常見手法源于某些數據結構和算法時,就基本達到了學習效果。
2)操作系統
所有編程語言的開發以及應用的運行,都基于操作系統,桌面編程中的大部分場景包括內存、進程、文件系統、網絡通訊、用戶界面等,都源于操作系統的定義和概念,完整的了解操作系統的起源和組成以及運行邏輯,對多線程、復雜界面、文件管理以及一些難以正常理解編程思路等開發中遇到的場景,有非常大的幫助,不僅幫助理解,也能掌握更多有效的程序寫法。具體可以買一本操作系統的書或者下載相關PDF電子書,完整的瀏覽一遍,做到能夠結合實際編程場景來看待操作系統原理,就基本達到了學習效果。
3)數據庫
傳統的關系型數據庫,入門簡單,深入卻難,往往開發人員能夠較快的掌握增刪改查、視圖、索引、存儲過程等基本數據庫操作,卻在編寫復雜查詢、設計主外鍵、優化字段、去除冗余等時,出現只會依葫蘆畫瓢卻不能自主思考擴展的狀況。究其原因還是沒能了解關系數據庫的根本原理,而數據庫這一門課程,系統的闡述了關系型數據庫的來龍去脈,了解其中的數學原理或邏輯基礎所在,對提升數據庫編程水平有質的影響。建議也是買一本數據庫的相關書籍或者下載PDF電子書,能夠把熟練的把第一范式、第二范式等數據庫課程的基本知識點與數據庫編程場景建立起關聯,也基本達到了學習效果。
4)編譯原理
編譯原理是編程語言以及各類語言編譯器的科學基礎,可以說編譯原理創造了世界上的幾乎所有的IT應用,學習編譯原理的基礎是數據結構和算法,因此編譯原理的學習要花費更多的時間和精力,由于現代高級編程語言的編譯器,在代碼優化、資源優化方面已經做的足夠智能,因此,編譯原理的學習對實戰的影響越來越小,但是正所謂本盛末榮,如果認為自己對數據結構和算法的學習達到了一個較高的水平和狀態,可以在編譯原理學習上進一步深入,最終把自己和普通程序員拉開更大的差距。
2、英語能力
英語的天然特性和字母長度還有學科發展的歷史因素,決定了編程語言一定是基于英語的,在編程過程中,從語言的關鍵詞到文檔的內容又或是搜索引擎的搜索結果,都不可避免的會遇到英文。大部分編程人員,都具備英語四級左右的英文基礎,卻由于非專業以及工作環境原因,逐漸疏遠甚至完全淡忘了英語。而實際操作中,大部分編程語言資料都是英文,在線編程問答內容也是英文,因此,很有必要把英語能力重新恢復到一個不用太高但行之有效的水平,達到如下效果:
1)對自己所使用語言,每一個關鍵詞都知道具體的英文翻譯、邏輯含義以及讀音。2)對于自己使用語言所涉及到的相關方法、類庫、框架、工具等,能知道其中每一個方法、過程以及參數關鍵詞等的英文翻譯、邏輯含義以及讀音。
3)對常見的編程邏輯和核心關鍵詞,能夠用英文組織問題的描述,最簡答的也行,只要能被搜索引擎讀懂就可以。比如如何在C#中把整形轉換為字符串類型這個問題,最簡易的英文描述就是 C# Integer Covert To String。
4)在自己技術知識范圍內的任何的英文的技術手冊、文檔、文章或是問題描述,能夠讀懂8成的內容含義,能夠讀懂完整的技術含義。
3、搜索方法
任何一個開發人員,都應當具備搜索能力,甚至是一定要具備搜索能力,搜索引擎的寶藏,是無窮無盡的,同樣具備搜索意識的不同程序員,卻因為搜索技巧的差異最終在程序開發質量、項目實施效率、甚至是工程產品質量上出現數倍的差異,因此,掌握高效、先進、靈活的搜索方法和技巧,是非常非常非常(重要的事情說三遍)有用的。其中主要的方法介紹如下:
1)搜索源選擇
? 雖然英文的編程資料更為準確高效,但中文的編程資料數量上卻占優,因此遇到問題第一搜索選擇還是百度
? 谷歌對于專業中文詞匯的處理能力有時候甚至比百度還要強,而且谷歌能搜出大量的英文資源,因此谷歌也是首選之一,但是由于谷歌被封鎖,因此需要進行VPN、SSH等FQ操作,或者在百度搜索“谷歌鏡像”關鍵詞,通過谷歌的鏡像網站進行訪問。
? 除了搜索引擎,專業的技術網站、論壇、社區也是非常直接有效的搜索源,比如國外的StackOverFlow網站,國內的Cnblogs博客園、OSChina開源中國等,都具備搜索功能,將問題關鍵詞輸入其中,也許也會很快的得到相關答案。
? 對于QQ群,建議不要使用,除非QQ群主或者成員是非常閑或者非常非常熱心的人,否則在QQ群詢問技術問題,是非常低效率的搜索方式。
2)關鍵詞構造
搜索關鍵詞的構造,直接影響搜索效率和正確結果的過濾,沒有什么特別的技巧,關鍵在于搜索積累,但是總體遵循的原則是,準確和簡潔,比如當出現一個描述,如何用C#對XML進行序列化和反序列化,非常愚蠢的關鍵詞構造就是“如何用C#對XML進行序列化和反序列化”,而正確高效的關鍵詞則是“C# XML 序列化 反序列化”,或者在谷歌里面搜索則是“C# XML Serialization”。在平時的編程中,一定要注意相關方法和經驗的積累
3)聯想搜索
聯想搜索,不屬于搜索引擎的范疇,卻是在搜索中很有用的高級技巧,舉一個通俗的例子,比如想使用C#,利用某個.NET類處理一種HTTP通訊,但是一直搜索不到完美的結果,不過換個思路,考慮到VB.NET也是.NET體系,和C#完全相通,那么也可以試著用VB.NET關鍵詞進行搜索,搜索到完美代碼后再臨摹成C#代碼。這樣的聯想搜索,不僅能夠幫助搜索正確結果,也是對大腦思維的訓練,值得多多嘗試。4)資源搜索
開源的框架、產品、工具、控件等開發輔助類東西越來越多,穩健性和迭代性越來越強,去尋找一款成熟的工具或者插件,也成為了大量開發者的必備方法和技能,而如何高效的搜索出想要的資源,也成為了一門學問,其核心方法就在于知曉資源網站的地址,常見的例如有開源中國、Github、CSDN下載、pudn等。資源類網站需要平時多積累,到用到的時候會非常關鍵。
4、思維模式
開發人員,一定要養成業務思維的模式,所謂的業務思維,就是在做任何一個項目的時候,寫任何代碼前,需要對項目本身的業務概念和業務邏輯甚至業務流程都要有一個全面的學習和理解,這雖然不是一個項目的強制要求,卻是一個很好的開發習慣,無論自己的覺得是開發者還是測試員又或是技術總監,掌握了業務原理,才能夠更好的設計或閱讀項目的數據結構和流程結構。程序員的思維往往和用戶或者客戶是不一致的,擺脫技術思維模式,習慣于用業務思維解決問題的程序員,不一定最優秀,但一定是一個很容易溝通的程序員
5、工作與編程習慣
有的人說愛干凈浪費時間,所以不修邊幅,但歸根結底這還是習慣問題,當養成清潔衛生的習慣并使之成為生活慣性時,往往就不會耗費更多的時間,反而顯得干凈干練。寫程序同樣如是,有一些編程習慣,看似不足為道,看似浪費時間,可是如果堅持下去,最終都能收到意想不到的奇效。下面列舉一些特別重要的習慣。1)快捷鍵的使用
無論是使用Windows、Linux操作系統,還是在IDE中,快捷鍵都是系統本身的標配,事實上,Ctrl+C、V這樣的操作,大部分人都能嘗到在節省時間上的甜頭,把這個概念進一步擴散,如果在IDE中編寫代碼,除了代碼本身,將其余所有的鼠標操作、鍵盤定位操作,都用快捷鍵來代替的話,在時間上將會有數量級的節省,然而看上去這么好的事情,真正堅持去執行并形成習慣的人屈指可數,因此,在初期的改變習慣,記住快捷鍵,會是一個長期的過程,需要不斷的堅持。
2)代碼注釋
一個開發人員隨著年齡和經驗的增長,所參與的項目,再也不是靠一個人或者幾個人就能完成的。系統的重構、代碼的重構、工作的交接、對新進人員的培訓等等類似的事情,會越來越多的遇到,這些事情無一例外都會把已經寫過的代碼重新或者重復閱讀,如果在初始編寫代碼時,就做到完整、清晰明了的代碼注釋,對后續工作會有巨大的幫助。不僅提高工作效率,還能增強合作好感。事實上,就算只是自己看自己的代碼,如果有注釋,也能加深印象,縮短代碼查找時間。因此,任何開發人員,都應該養成良好的代碼注釋習慣。
優秀的代碼注釋應該能做到:
? ? 每一個函數、每一個屬性甚至是變量的劃分,都可以找到對應的解釋。多使用越來越被IDE支持的XML注釋方式,不僅有注釋文字,更有詳細的參數描述。? 對程序結構、模塊、組成部分劃分等也加以注釋
3)命名規則
具備一定規模的軟件公司,在代碼編寫上都有一套自己的命名規則,涵蓋項目、模塊、函數、變量等等,標準化命名的好處不言而喻,然而被動、被迫去遵守命名規則和主動習慣于使用命名規則是完全不一樣的。一個優秀的開發人員,應當發自內心的希望各種代碼命名都是有規則的,易讀的,而不是糾結于命名規則會增加碼字長度。
4)不將就的編程邏輯
所謂不將就的編程邏輯,其對立面就是不講究的編程邏輯,不講究的編程,不僅是一種很壞的編程習慣,也體現了低下的生活品質,很多開發人員,因為個人習慣、趕工期、客戶要求不高等多種原因,在編程時特別隨意,體現在比如為了實現某個功能,百度出一段代碼,直接套用,10行的代碼只理解8行,有兩行看不懂也放到程序里去使用,很多這樣的小細節,就好比在項目中埋下了無數的定時炸彈,不僅有很大概率形成返工,更是為項目埋下了風險。編程人員,應當有擔當有態度,養成不將就的編程邏輯,不勉強自己,也不輕視程序。
5)數據備份
誤刪、誤操作、電腦斷電、文件遺失等等狀況是每一個開發按人員都可能遇到的問題,如果不希望辛勤的勞作被浪費,不希望偶然的意外影響工作,那做好備份是必不可少的,在較大規模的公司,會有完整的源代碼管理以及信息安全防護,而無論是在大公司工作,還是身處較小公司或者在實現個人代碼價值時,都要做好代碼和文檔的數據備份,備份方式的選擇靈活多樣,有使用在線的CVS、SVN、TFS、Git源代碼管理,也可以手工拷貝文件至云空間或者本地硬盤,甚至可以在個人電腦上組成RAID磁盤陣列等等,養成周期性、規律性的備份習慣。
6)郵件工作方式
溝通是進步的源泉,如果說開發小組的熱烈討論是性格和激情的體現,那郵件的工作方式也是另一種穩重和高效。無論是公司層面的工作溝通,還是開發小組的問題交流,郵件的作用包括問題正規化描述、工作留檔留痕、工作流程流轉、責任分工明確等等,習慣于將重大問題、重要事項通過郵件的方式與同事、主管等進行溝通,將會非常有助于團隊協作。
以上這些方法,是我這么多年來的感受和體會,也給了我很大的幫助,希望也能夠幫助到大家,不能說一定可以“提升修養“,但也是”提升修養”的有效方式。
最后還想再說一說堅持的力量
分享一個真實的小故事,公司有兩個開發人員,1個做.NET好多年了,但是很油滑,做事能省就省,抓到可以偷懶的機會就偷懶,讓他學點新知識新方法總是自以為是覺得自己都會;還有1個毫無.NET基礎,一直做低級語言開發,從15年才開始學習.NET和Web前端,但是做事很積極,幾乎每天都自己抽空學習,遇到不懂的都琢磨清楚,遇到不會的場景就上網或者找人尋求幫助,項目結束后還反復思考有什么地方可以改進。從15年到現在,短短1年,這兩個人的發展已經是天壤之別,工資差距也越來越大,后者已經能夠獨自操盤中小型軟件外包項目,而前者還在混著日子,以后他們各自的發展也完全可以預見。我想說的是,本篇里面分享的一些道理和方法,都是通俗易懂的,就和常聽到的例如101%和99%的365次方的故事、1萬小時的道理等等一樣,但真正去認真思考并實踐的屈指可數,也許,堅持才是程序員最大的修養,和各位共勉!
第三篇:程序員試用期自我總結
程序員試用期自我總結
干得比驢累,吃得比豬差,起得比雞早,睡得比狗晚,看上去比誰都好,五年后比誰都老。很多程序員都曾這樣感慨和抱怨過自己的生活狀態。今天小編給大家為您整理了程序員試用期自我總結,希望對大家有所幫助。
程序員試用期自我總結范文一
光陰如梭,半年的工作轉瞬即將成為歷史,伴隨著新年鐘聲的臨近,我們依依惜別碩果累累的2015年,滿懷熱情的迎來即將到來的2016年。在這年終之際,現對來公司5個月的時間里所作的工作匯報如下:
1、正義erp項目的編碼工作。從了解新疆正義項目的背景、及計劃安
排,熟悉正義公司制度及業務流程,再到熟悉新能開發模式,之后我根據需求調研報告,從基本的數據庫創建,到編碼,完成了銷售部、生產部、采購部、質檢部四個模塊的基本單據的制單、審核、選單、查詢、打印等系列的編碼工作;完成了正義項目的模塊測試及流程測試。
通過這段時間的努力,使我個人的耐心、細心程度及對工作的合理安排得到了鍛煉,學會了在繁忙之中找條理,危難之中找希望。同時自己也有一些不足之處,一些細節地方技術上還不太成熟,還需加以學習與鉆研。
2、、正義erp項目的實施工作。從十一月初開始進行正義項目的實施,每天早起趕在企業上班前趕到企業進行erp的實施。實施期間主要是軟件的安裝實施及對企業的erp系統的使用人員進行軟件使用培訓;紀錄客戶使用過程中出現的問題,晚上下班后加班加點將每天的小錯誤及客戶變更修改完畢。
通過這項工作,使我原本欠缺的業務能力得到了很大的提高,并學到了很多與客戶交流的技巧及業務上的知識,更加明晰了erp系統的流程。但離一個成功程序開發人員的標準還差得很遠,在今后工作中,定會多多注意,加以改善。
3、幫助和使用手冊文檔的編寫。幫助的編寫使我熟悉了dreameweaver和fireworks的使用,為后期的oa開發也奠定一定的基礎,使用說明的編寫,使我更加加深了項目開發的整體思路與技術要點,總結了前期開發和實施中碰到的問題,并又一次的對軟件整體進行了測試,對暴露出的小bug進行了最后的修改。
4、利用工作之余的休息時間加強學習。平時注意收集有關pb方面的資料文件,提高自己的處理新問題和解決新問題的能力,并加強學習java及oa方面的知識(現轉為學習.net),為后期的工作打好基礎。
以上為本人粗略的個人工作小結,請領導審閱,如工作上有不到之處,請領導不吝指出,以便本人及時改正,從而能更好地工作。
展望臨近的20xx年,我會更加努力、工作上認真負責,再接再厲,更上一層樓。相信自己會完成新的任務,能迎接新的挑戰。
程序員試用期自我總結范文二
伴隨著充實緊湊的工作生活,兩個月的時間已經過去了。這一段時間里有工作上的收獲,知識的豐富,經驗的增長,同時也暴露出很多問題和不足。總結經驗,吸取教訓,本文將主要從幾個方面來對工作進行總結:工作的主要內容;其中的失敗和教訓以及成功和經驗;展望下一階段的工作,確定自己的目標。以此作為懲前毖后的記錄。
來到一個新的工作環境,最能發現自身的不足,這幾個月,抱著虛心學習的態度,學習公司的開發流程,熟悉公司的企業文化,了解公司產品框架,主要技術,主動和同事溝通、學習經驗,希望能更快的融入公司、融入開發團隊,能夠全心的投入工作。試用期期間完成的工作還十分有限,簡單列了一些:掌握java開發語言和環境,由于在校學習時主要是以.net作為開發語言,所以在剛入職時通過一段時間學習并基本掌握了java開發技術。
熟悉公司開發流程,熟悉cbp產品框架。了解了核三框架的總體結構和開發流程,并能在核三的基礎上進行項目開發。
參與了社保電子支付項目的開發。主要負責web端的模塊開發,通過開發的過程,學習和掌握了flex界面開發,hibernate和oracle數據庫
因為自己在經驗上的不足,所以,在項目的開發過程中碰到開發進度慢的問題。綜合起來看原因在于:
1、沒有項目經驗,沒有經歷過系統和完整的系統開發。
2、對于技術的學習和掌握還不
夠深入。
3、發現問題的能力不夠,在自己以往的學習方式中,欠缺一種主動發現問題的能力。今后,我會多注意在這些方面的學習和積累。
這兩個月的工作生活是充實且富有樂趣的,結識了很多同事和朋友,公司的氛圍是非常輕松愉快的。感謝兩個月來李鵬經理的關心,感謝部門同事的悉心指導,感謝公司各位同事的熱心幫助,希望能在接下來的工作中能懲前毖后,總結經驗,吸取教訓,做到個人與公司共榮辱同進退,共同實現中地的輝煌。
程序員試用期自我總結范文三
這段時間,在領導和同事們的關懷和指導下,我通過不懈努力,各方面均取得一定的進步,現將我的工作情況做如下匯報:
一、通過理論學習和日常工作積累經驗我的各方面有了很大的進步。
剛到公司不久,我便開始負
責.NET方面的網站開發和廣告平臺開發和維護,剛開始的時候對我來說確實壓力很大,因為各方面都還不熟悉,而且與之前的公司相比,節奏也有點快,不過我慢慢的習慣了環境,和同事相處的比較融洽,領導對我也比較關心,在公司里工作就像是在一個幸福的大家庭里一樣,我很快喜歡上了這里。
我到公司不久,第一個項目是xxx公司網站,做這個項目的時候我遇到了幾個問題,我在以前公司做的時候沒有在這么短的時候完成一個項目的,在效率上提高了我的能力。做這個項目的時候我也遇到了許多以前沒有遇到過的問題,我請教同事和朋友,還有借助網絡一一解決了難題。
之后,我將B2B廣告招商平臺進行了改版,開發了xxx智能建站廣告平臺以及以后網站的維護工作。
接下來,我又做了一個比較棘手的項目xxx在線咨詢系統。為什么說棘手呢,因為我以前沒有做過這方面的項
目,而且我問遍了所有認識的朋友,搜遍了網絡也沒有找到如何解決的方法,之后我翻書籍,接著搜索網絡。功夫不負有心人,終于我找到一個聊天室的小例子,但是功能差的太遠,于是我把這個示例一點點的研究,從一點也不懂到后來慢慢看懂,從對AJAX技術一無所知到基本熟練運用。接下來我就開始自己開發,到最后終于把它開發了出來,雖然不是很完美,功能不是很強大,但是它是我辛苦的勞動結晶,我相信以后會把它開發的更強大,更完美。
二、明確崗位職能,認識個人技術能力不足。
經過三個多月的工作,雖然完成了一些項目的開發,我的技能也提高了很多,但是感覺我的技術還有待提高,所以我會在以后的工作中更加努力,努力提高自己的技術和各種不足,努力使自己成為一名稱職的職員。
三、提出自己努力計劃
1、學無止鏡,時代的發展瞬息
萬變,各種學科知識日新月異。我將堅持不懈地努力學習各種技術知識,并用于指導實踐。
2、業精于勤而荒于嬉,在以后的工作中不斷學習知識,通過多看、多學、多練來不斷的提高自己的各項技能。
3、不斷鍛煉自己的膽識和毅力,提高自己解決實際問題的能力,并在工作過程中慢慢克服急躁情緒,積極、熱情、細致地的對待每一項工作。
4、努力提高自己的日常交際能力。
時光流轉間,我已到公司工作三個多月。非常感謝公司領導對我的信任,給予我體現自我、提高自我的機會。這三個多月的試用期工作經歷,使我的工作能力得到了由校園步入社會后最大幅度的提高。
第四篇:軟件研發部程序員年終自我總結
過去的一年,在馬總的親切關懷,伍經理的殷勤管理與認真指導,軟件研發部的團結協作,以及在公司這充滿奮斗的環境下,我以嚴肅認真的工作態度和百折不饒的精神,努力的完成了公司的各項工作,在軟件研發、團隊協作和個人成長上也取得了一定的成績。在公司一年的工作已經結束,特向公司總結匯報如下:
第一部分 工作總結
一、軟件研發
根據公司的安排,項目的需要。在自身的努力、伍經理的幫組,團隊的合作下,克服重重技術困難,增長了工作經驗,收獲豐盈:
1、asp.net 開發
以前我在其他公司也做過一些開發,但是底層和架構與頁面樣式我都是沒有涉及到的。通過這一年在本公司的的這些項目程序中的鍛煉,我成長了,我學會了很多很多。
首先,面向對象語言的收獲。對于當前編程的主流思想是對象,任何事物都可以用對象來表示。以前理解這些話很費解都是從表面上理解,沒有從深入的體會,通過這次asp.net項目的深入,不管是數據還是外部一些條件我們都可以抽象成對象,都可以用對象來表示,具體可以用語言中的類方法等。asp.net如此,c#如此java也同樣如此。
其次,具備獨立完成vb.net知識方面的能力。以前沒有做過vb的東西,加上這次深入的做,這次涉及到的領域也非常廣,常用的重要的都有涉及,并且還補充xml,javascript實際操作中空白的部分。通過這一年的開發,在.net 方面我能勝任這方面的工作,能獨立完成這方面的工作。
再次,c#方面存在一些不足。通過c#這次軟件的開發,也發現自己的不足,如基礎知識掌握不牢,缺乏編程整體思想。這些都是需要在工作中完善和改進的。
2、數據庫開發
數據庫是伴隨著項目以來用的最多最平凡的技術。以前對數據庫只是會一些簡單常用的操作,經過這一年項目的實戰,對數據庫的操作增加了一些豐富的經驗。為以后的工作和經驗的積累都奠定了堅實的基礎。同時在項目中還用到了oracel與 access數據庫,這是我最大的收獲·
優點:能熟練的運用數據庫技術進行開發。特別是對sql數據庫的操作,經過這么長時間的積累,基本上能合理的設計和新建數據庫,同時在數據結構上也加強了對數據庫的理解。通過項目的實踐現在能熟練使用和編寫多種sql語句。還掌握了一些關于數據庫優化sql語句優化的方法,能進行一些簡單的優化。
缺點:數據是一門比較先進的技術,并不是你會寫一些sql語句,能建幾個數據庫你就是數據庫工程師。要成為一個好的數據庫管理員是要經過長時間的工作積累。針對自己的不足,在以后的工作和學習中多接觸,多運用新的知識點。充實自己的經驗和知識儲備。
二、團隊協作
上面的成功與收獲,除了自身努力外,以及公司的支持。是這個團隊鑄造了我。我們這個團隊也是因為有了我們這些拼搏協作的隊員,使得它成為一個具有務實、拼搏、創新精神的團隊。我與軟件研發小組是一個整體,這里的團隊
總結也就是我在這個團隊中的收獲。
務實:公司下發的任務,下發的工作,件件都是用心去做的。我們這個團隊中沒有一個人在工作的時候做了工作以外的事情,都是實實在在的做跟工作相關對公司有益的事情。相信在伍經理的帶領下現在是這樣,以后同樣也是這樣。
拼搏:公司給的每一個任務不管它多難,如果工作沒有完成我們會晚上加班,也要盡可能的完成當天的工作。如果工作實在忙,為了趕進度我們放棄周末休息時間也要盡可能的使項目提前。
創新:現在我們開始項目的時候都會進行研討,一般都會進行一個效率和邏輯的分析與討論,保證程序正確的前提盡可能的提高程序的效率。
互助:我們小組內只要任何一個人出現技術或其它的問題,我們都會彼此都會盡可能的去幫助他。不會因為某一個人而拖住整個項目滯后。
交流:我們在項目中會及時溝通自己的收獲,特別是一些針對性的技術問題。這樣可以省了很多重復研究的時間,這是一筆很可觀的時間。
在交流中只要我會的,我懂的,我不會去吝嗇。我會積極的去與你交流,我的團隊名言“人強團則強,人弱團則削”。
三、個人成長
通過公司這快一年的鍛煉與學習我真的進步了很多,不管從技術上還是做事上,都不像以前那樣了。我在公司學到的懂得的使我飛速成長。
技術上:不管從語言上還是做事的邏輯上都得到了很大的提高。現在在軟件小組里面自己能獨立完成一部分工作,承擔自己的責任。
第二部分 xxxx年工作設想
通過今年的實踐和學習,明年是一個新的開始,立足當前的優缺,肩負起一個軟件工程師應有的工作和性質。希望為公司明年的發展盡最大的努力,也希望自己明年有更大的收獲。明年計劃在以下幾方面有所突破,有所建樹:
一、在編程語言掌握方面,達到本公司的編程思想—不被語言所束縛。在這方面伍經理是我的榜樣,積極努力的提高自身的技術水平,真正做到不被語言所束縛。
二、數據庫方面,在當前已有的基礎上提升自己,明年自己給自己定的目標是,能非常合理的去使用數據庫各類技術,掌握更多的數據庫優化思想和技術點。有時間多向許總交流。
三、加強軟件開發的輔助性知識使用和積累。針對當前軟件開發中的一些情況,明年更加積極的學習javascrip、ajax和flex等技術。能輔助性的把軟件做的更好。
四、工作質量上,現在編程我是屬于會寫會編和局部效率,并不是全局的效率,明年一定要做到,編一個高效率的代碼。這就要綜合上面的三點,才能使其達到全局的高效。
第五篇:程序員自我評價
程序員自我評價15篇
程序員自我評價1
本人能努力學習、虛心請教、認真負責、吃苦耐勞、適應能力強、勇于接受新的挑戰。喜歡簡單、平靜、快樂的生活。會用100%的熱情已精力投入到工作中;平易近人,腳踏實地、有較強的`團隊精神,工作積極進取,態度認真。有較好的組織能力,樂于助人,誠實守信。
程序員自我評價2
伴隨著充實緊湊的工作生活,兩個月的時間已經過去了。這一段時間里有工作上的收獲,知識的豐富,經驗的增長,同時也暴露出很多問題和不足。總結經驗,吸取教訓,本文將主要從幾個方面來對工作進行總結:工作的主要內容;其中的失敗和教訓以及成功和經驗;展望下一階段的工作,確定自己的目標。以此作為懲前毖后的記錄。
來到一個新的工作環境,最能發現自身的`不足,這幾個月,抱著虛心學習的態度,學習公司的開發流程,熟悉公司的企業文化,了解公司產品框架,
主要技術,主動和同事溝通、學習經驗,希望能更快的融入公司、融入開發團隊,能夠全心的投入工作。試用期期間完成的工作還十分有限,簡單列了一些:掌握java開發語言和環境,由于在校學習時主要是以。net作為開發語言,所以在剛入職時通過一段時間學習并基本掌握了java開發技術。
熟悉公司開發流程,熟悉cbp產品框架。了解了核三框架的總體結構和開發流程,并能在核三的基礎上進行項目開發。
參與了社保電子支付項目的開發。主要負責web端的模塊開發,通過開發的過程,學習和掌握了flex界面開發,hibernate和oracle數據庫
因為自己在經驗上的不足,所以,在項目的開發過程中碰到開發進度慢的問題。綜合起來看原因在于:
1、沒有項目經驗,沒有經歷過系統和完整的系統開發。
2、對于技術的學習和掌握還不夠深入。
3、發現問題的能力不夠,在自己以往的學習方式中,欠缺一種主動發現問題的能力。今后,我會多注意在這些方面的學習和積累。
這兩個月的工作生活是充實且富有樂趣的,結識了很多同事和朋友,公司的氛圍是非常輕松愉快的。感謝兩個月來李鵬經理的關心,感謝部門同事的悉心指導,感謝公司各位同事的熱心幫助,希望能在接下來的工作中能懲前毖后,總結經驗,吸取教訓,做到個人與公司共榮辱同進退,共同實現中地的輝煌。
程序員自我評價3
本人性格熱情開朗,待人友好,為人誠實謙虛。工作勤奮,認真負責,能吃苦耐勞,盡職盡責,有耐心。具有親和力,平易近人,善于與人溝通,學習能力較強,勤奮好學刻苦鉆研。座右銘是:君子欲訥于言而敏于行。
本人性格開朗、穩重、有活力,待人熱情、真誠。工作認真負責,積極主動,能吃苦耐勞,自信心強,思想活躍。有較強的組織能力、實踐動手能力和團隊協作精神,能迅速的.適應各種環境,并融于其中。
本人在校期間曾擔任班長,做事認真,負責,有一定的組織能力,在校期間多次參加電子比賽,動手能力強,獲得第六屆飛思卡爾智能車比賽電磁組的三等獎。在校期間一直積極參加學校的電子協會,學到很多知識,培養了較強的動手能力,在校期間成績優秀,曾獲得獎學金二等獎,國家勵志獎學金,三好學生等獎項。
性格開朗,樂觀向上,是一個相信明天會更好的人。工作責任心和團體意識強,作為電子信息工程學院的足球隊長尤為體現性格堅韌,辦事有毅力,面對難題能沉下心攻克難關動手能力強,善于在實踐中尋找問題,解決問題。
程序員自我評價4
本人對待工作認真負責,待人真誠,善于溝通、協調。有較強的組織能力與團隊精神;上進心強、勤于學習能不斷進步自身的能力與綜合素質。精通熟練計算機IT軟硬件技術,對IT周邊科技發展有濃厚興趣;團隊意識及適應能力強,抗壓能力好,喜歡面對挑戰迎難而上;注重生活條理化,工作規劃化。在未來的工作生活中,我將以充沛的精力,刻苦鉆研的.精神來努力完成既定的工作任務,穩步提升自己的工作能力,與公司同步發展。
程序員自我評價5
本人擁有豐富的的相關工作經驗,很強的自學和適應能力,很強的可塑性,有非常強的.責任心和協作精神。
本人工作積極、認真、負責,有較強的進取精神,善于與人溝通!若能得到貴公司錄用,將會盡心盡職,努力做好上司所分配之工作。謝謝!
我非常喜歡我所所學的專業,并且感謝父母和社會對我的培養和支持,我非常想得到一個能夠發揮我專業特長和能力的工作,為社會和家庭的發展做出一份貢獻。
本人誠肯好學、對工作充滿熱情、有親和力、有團隊精神等。并且靈活掌握所學專業知識,對工作十分認真負責,有一定的組織協調能力。
具有較強學習能力,工作認真負責、敬業,善與他人合作,做事善始善終。
程序員自我評價6
我叫xxx,今年xx歲,畢業于xxxx信息工程大學計算機科學與技術專業,擁有扎實的corejava基礎,良好的編程風格;熟悉jsp+servlet+javabean模式的web開發;熟悉struts,hibernate,spring等開源框架,了解ejb;熟悉tomcat,jboss服務器等,熟悉基于linux及unix環境下的軟件開發。
在校期間有多次社會實踐經歷,曾參與過學院網上虛擬實驗室開發的需求分析,大學期間多次擔任多課程的課代表。雖然實際工作經驗不是很足,但軍校四年培養了我充分的自信心和敬業精神以及扎實的學科基礎知識和較強的'專業技能,四年軍校生活中,我嚴格要求自己,自覺、遵紀、守時。本人坦誠且有責任心,有獨立進取的品性,勤于動手、善于動腦,適應新環境能力很強。能在最短時間內完成從學生到職業工作人員的轉型,盡自己的努力融入新的工作生活。
程序員自我評價7
我是XX中學的一名應屆畢業生。我性格開朗、辦事穩重、善于思考、自學能力強,易于接受新事物。我的基礎知識扎實、實驗操作技能強,是一名符合時代要求的畢業生。作為即將踏入大學旅程的莘莘學子,我滿懷熱情與追求,期待成功。大學三年來,書籍和社會實踐使我不斷走向成熟,對知識的渴望,對理想的追求,人際關系的擴展,思維方式的變更,造就了我日趨成熟的思想,培養了我務實進取、認真負責的'工作作風和良好的團隊精神。
在思想方面,我積極上進,篤守誠、信、禮、智的做人原則,思想積極要求進步。
在社會工作方面,我擔任班長等職務,長期為同學們服務,參與組織了各項有益活動,培養了較強的策劃、組織、協調、管理和創新能力以及吃苦耐勞的精神。
在業余方面,我充分發揮在音樂方面的個性特長,積極參加了校園各項文藝活動,活躍在校內的各種文藝舞臺上。此外,擅長打排球等各種球類,擔任長時間的排球隊長,參加了歷年的班級各種比賽。
程序員自我評價8
我于____年9月11日成為本公司技術部的一名t程序員,三個月的試用期轉眼就過去了。這段我人生中彌足珍貴的經歷,給我留下了精彩而美好的回憶。在這段時間里您們給予了我足夠的關懷、支持和幫助,讓我充分感受到了領導們“海納百川”的胸襟,在對您們肅然起敬的同時,也為我有機會成為影響力在線的一員而驚喜萬分。
這段時間,在領導和同事們的關懷和指導下,我通過不懈努力,各方面均取得一定的進步,現將我的工作情況做如下匯報:
一、通過理論學習和日常工作積累經驗我的各方面有了很大的進步。
剛到公司不久,我便開始負責方面的.網站開發和廣告平臺開發和維護,剛開始的時候對我來說確實壓力很大,因為各方面都還不熟悉,而且與之前的公司相比,節奏也有點快,不過我慢慢的習慣了環境,和同事相處的比較融洽,領導對我也比較關心,在公司里工作就像是在一個幸福的大家庭里一樣,我很快喜歡上了這里。
我到公司不久,第一個項目是___公司網站,做這個項目的時候我遇到了幾個問題,我在以前公司做的時候沒有在這么短的時候完成一個項目的,在效率上提高了我的能力。做這個項目的時候我也遇到了許多以前沒有遇到過的問題,我請教同事和朋友,還有借助網絡一一解決了難題。
之后,我將B2B廣告招商平臺進行了改版,開發了___智能建站廣告平臺以及以后網站的維護工作。
接下來,我又做了一個比較棘手的項目——___在線咨詢系統。為什么說棘手呢,因為我以前沒有做過這方面的項目,而且我問遍了所有認識的朋友,搜遍了網絡也沒有找到如何解決的方法,之后我翻書籍,接著搜索網絡。功夫不負有心人,終于我找到一個聊天室的小例子,但是功能差的太遠,于是我把這個示例一點點的研究,從一點也不懂到后來慢慢看懂,從對AJA_技術一無所知到基本熟練運用。接下來我就開始自己開發,到最后終于把它開發了出來,雖然不是很完美,功能不是很強大,但是它是我辛苦的勞動結晶,我相信以后會把它開發的更強大,更完美。
二、明確崗位職能,認識個人技術能力不足。
經過三個多月的工作,雖然完成了一些項目的開發,我的技能也提高了很多,但是感覺我的技術還有待提高,所以我會在以后的工作中更加努力,努力提高自己的技術和各種不足,努力使自己成為一名稱職的職員。
三、提出自己努力計劃
1、學無止鏡,時代的發展瞬息萬變,各種學科知識日新月異。我將堅持不懈地努力學習各種技術知識,并用于指導實踐。
2、“業精于勤而荒于嬉”,在以后的工作中不斷學習知識,通過多看、多學、多練來不斷的提高自己的各項技能。
3、不斷鍛煉自己的膽識和毅力,提高自己解決實際問題的能力,并在工作過程中慢慢克服急躁情緒,積極、熱情、細致地的對待每一項工作。
4、努力提高自己的日常交際能力。
時光流轉間,我已到公司工作三個多月。非常感謝公司領導對我的信任,給予我體現自我、提高自我的機會。這三個多月的試用期工作經歷,使我的工作能力得到了由校園步入社會后最大幅度的提高。
在此,在對試用期的工作情況及心得體會做一匯報后,我想借此機會,正式向公司領導提出轉正請求。希望公司領導能對我的工作態度、工作能力和表現,以正式員工的要求做一個全面考慮,能否轉正,期盼回復。我會以炙熱的工作熱情繼續投入到今后的工作當中,以自己踏實努力的工作,報公司知遇之恩!
程序員自我評價9
在這一年里,我經歷了從學校到企業、從學生到員工、從理論到實踐這三個轉變,圍繞著這三個轉變,我始終保持良好的心態,一步步成長。
我于20xx年6月開始到xxx公司工作。在開始幾個月的工作和學習當中,在各位領導和同事的指導和關心下,學習專業知識,向前輩請教經驗,向同事學習專業技巧,正是在這個過程中,認識到自己不足,也深刻體會到了團隊的力量和魅力,并且很快認識并融入這個團隊,為我以后的工作樹立一個良好的開端.
在這段工作時間里,我做了一個比較棘手的項目xxx在線咨詢系統程序員個人工作總結自我評價程序員個人工作總結自我評價。為什么說棘手呢,因為我以前沒有做過這方面的項目,而且我問遍了所有認識的朋友,搜遍了網絡也沒有找到如何解決的方法,之后我翻書籍,接著搜索網絡。功夫不負有心人,終于我找到一個聊天室的小例子,但是功能差的太遠,于是我把這個示例一點點的研究,從一點也不懂到后來慢慢看懂,從對AJAX技術一無所知到基本熟練運用。接下來我就開始自己開發,到最后終于把它開發了出來,雖然不是很完美,功能不是很強大,但是它是我辛苦的勞動結晶,我相信以后會把它開發的更強大,更完美。
通過見習過程,我知道短暫的迷茫和情緒的低谷,有了各位同事的'幫助和關心,以及個人的努力,可以讓我順利突破困境,找回自信和充實!
在此,這就是我試用期的工作情況及心得體會的匯報,希望公司領導能對我的工作態度、工作能力和表現,以正式員工的要求做一個全面考慮,我會以炙熱的工作熱情繼續投入到今后的工作當中,以自己踏實努力的工作,報公司知遇之恩!
年的見習期就要到了,現就本人在這一年里的工作情況先作一整理,并做如下自我鑒定:
在這一年里,我經歷了從學校到企業、從學生到員工、從理論到實踐這三個轉變,圍繞著這三個轉變,我始終保持良好的心態,一步步成長。
程序員自我評價10
過去的一年,軟件研發部團結協作,以及在公司這充滿奮斗的環境下,我以嚴肅認真的工作態度和百折不饒的精神,努力的完成了公司的各項工作,在軟件研發、團隊協作和個人成長上也取得了一定的成績。在公司一年的工作已經結束,特向公司總結匯報如下:
一、軟件研發
根據公司的安排,項目的需要。在自身的努力、伍經理的幫組,團隊的合作下,克服重重技術困難,增長了工作經驗,收獲豐盈:
1、asp.開發
以前我在其他公司也做過一些開發,但是底層和架構與頁面樣式我都是沒有涉及到的。通過這一年在本公司的的這些項目程序中的鍛煉,我成長了,我學會了很多很多。
首先,面向對象語言的收獲。對于當前編程的主流思想是對象,任何事物都可以用對象來表示。以前理解這些話很費解都是從表面上理解,沒有從深入的體會,通過這次asp.項目的深入,不管是數據還是外部一些條件我們都可以抽象成對象,都可以用對象來表示,具體可以用語言中的類方等。asp.如此,cx如此java也同樣如此。
其次,具備獨立完成vb.知識方面的能力。以前沒有做過vb的東西,加上這次深入的做,這次涉及到的領域也非常廣,常用的重要的都有涉及,并且還補充ml,javascript實際操作中空白的部分。通過這一年的開發,在.方面我能勝任這方面的'工作,能獨立完成這方面的工作。
再次,cx方面存在一些不足。LocALhOST通過cx這次軟件的開發,也發現自己的不足,如基礎知識掌握不牢,缺乏編程整體思想。這些都是需要在工作中完善和改進的。
2、數據庫開發
數據庫是伴隨著項目以來用的最多最平凡的技術。以前對數據庫只是會一些簡單常用的操作,經過這一年項目的實戰,對數據庫的操作增加了一些豐富的經驗。為以后的工作和經驗的積累都奠定了堅實的基礎。同時在項目中還用到了oracel與access數據庫,這是我最大的收獲。
優點:能熟練的運用數據庫技術進行開發。特別是對sql數據庫的操作,經過這么長時間的積累,基本上能合理的設計和新建數據庫,同時在數據結構上也加強了對數據庫的理解。通過項目的實踐現在能熟練使用和編寫多種sql語句。還掌握了一些關于數據庫優化sql語句優化的方法,能進行一些簡單的優化。
缺點:數據是一門比較先進的技術,并不是你會寫一些sql語句,能建幾個數據庫你就是數據庫工程師。要成為一個好的數據庫管理員是要經過長時間的工作積累。針對自己的不足,在以后的工作和學習中多接觸,多運用新的知識點。充實自己的經驗和知識儲備。
程序員自我評價11
大學期間,通過和班級同學的相處,使我懂得了做人要積極向上、奮發進取,從而使到自己在各方面都取得很大的發展,全面提高了自己的綜合素質。同宿舍同學的.交流,使我學會了思考,學會了做人,學會了如何與人共事,鍛煉了組織能力和溝通、協調能力,培養了吃苦耐勞、樂于奉獻、關心集體、務實求進的思想,懂得了如何團結合作。“海闊憑魚躍,天高任鳥飛”,期盼貴公司能給我一個施展才華的機會,我將會積極把理論知識結合到工作實踐中去,為公司的發展作出貢獻。
程序員自我評價12
從我4月25日進入公司到現在已經過去八個月了,從一名剛剛結束實習的學生到一名獨立的開發人員,角色改變了,職責也改變了。雖然已經預計了工作之中會有很多困難,可是在實際的項目開發中,自己所遇到遠遠不止自己想象之中的那么簡單、單純。在開發過程中,難題一個接一個的出現,要做到滿足公司的產品需求,成為一名合格的程序開發人員,這個過程還很漫長。每天我都在勉勵自己,要好好學,好好做,以后會好的。在此同時我衷心感謝公司給我提供了學習的機會和平臺,這也使我對以后的日子多了些許的信心。
工作回顧
在我進入公司的這八個月里,我陸續接觸了公司的GPS平臺,智能手表定位,上海鐵路局車站消防綜合管理系統,盛泉金融款箱管理系統,中行保衛處的管理系統,指揮中心的視頻監控系統,并在這期間為安徽品至制作了一個展示型企業網站。在剛進入公司的那段時間里,我從沒有接觸過網絡攝像機,對于網絡攝像機根本沒有任何概念,在公司的培養下我逐漸熟悉了各種攝像機,現在拿到海康、英碼、賽赫、中威的攝像機開發包,可以很熟練的進行二次開發。在工作之余,我也在努力的學習,和別人交流,學習先進的開發技術,請教別人開發技術問題。
主要問題
1.由于開始對業務需求不是很熟悉,所以在寫需求分析與了解所要開發的過程中多次出現因為需求的原因,而不斷修改、返工的情況。在同盛泉金融交流的時候,這個問題多次困擾著我,對方的需求不明,每次交流的過程中都在變更需求,從而導致了效率比較低的問題。
2.在開發中,用到很多我所不知道或很多我知道但不太熟悉的領域,在這個領域內,我需要不斷的學習。
3.在工作階段,有時比較偏向自己的工作方便,忽略了其他同事的工作上的量與難易。有的功能自己怎么方便怎么寫,如今公司在不斷壯大,我們部門人員在不斷的增加,這樣是不利于多人合作的。
4.工作的條理性不夠清晰,要分清主次和輕重緩急;在開發時間很倉促的情況下,事情多了,就一定要有詳實而主次分明的.計劃,哪些需要立即完成,哪些可以緩緩加班完成,在這方面還有很大的優化空間。
5.學習的知識不夠廣泛;一個項目中,涉及的技術往往有多種,知識多了,就會靈活變通,以后我會加強這方面的學習。
工作心得
1.每一個項目在開始著手的第一步,一定要和客戶把需求溝通清楚,只有了解了項目的需求,才有可能真正做好一個項目。我們需要向客戶提出要求客戶提供所有涉及該項目的資料,每次與客戶見面都需要熟悉業務與程序的最少一至兩個程序員隨時記錄需求。
2.工作中,有一個無論是技術,還是經驗都比較讓人肯定的前輩帶領,將任務詳細化,詳細到,每個頁面、甚至是一個頁面中的圖片什么時候做好,做到什么程度,這樣把工作進度有計劃有方向的贊定下來,做事很有效率。和孫姐,王竹青,尤坤等人合作時候一定注意要多項工作同步進行,保證每個子模塊都能同步運行。
3.每天的工作小結真的很重要,這讓我們每天都有計劃的知道自己干了什么,不是漫無目的的工作,所以我們應該養成,日記、周記、月記、年記的工作習慣。
4.工作并不是一成不變的,也許有一天你要去其他崗位幫忙,所以同事之間的技術要互相學習,也許有一天,公司需要你發揮其他的技能幫忙,所以互相學習也是很重要的。自己的工作不能僅僅局限于編程。
工作計劃
1.要提高工作的主動性,做事干脆果斷,不拖泥帶水。
2.工作要注重實效、注重結果,一切工作圍繞著目標的完成。
3.要提高大局觀,是否能讓其他人的工作更順暢作為衡量工作的標尺。
4.精細化工作方式的思考和實踐。
5.虛心請教比我做的優秀的其他同事,向他們學習技術或經驗。其實作為一個新員工,所有的地方都是需要學習的,多聽、多看、多想、多做、多溝通,向每一個員工學習他們身上的優秀工作習慣,豐富的專業技能,配合著實際工作不斷的進步,不論在什么環境下,我都相信這兩點:一是三人行必有我師,二是天道酬勤。
在參加工作的這短短的一個半月中,我深刻的體會到,把自己所有的精力都投入進去,技術工作都不可能做到完美程度,畢竟技術工作太繁雜,項目多而人手少,但多付出一些,工作就會優化一些,這就需要認認真真沉下心去做事情,職業做事,誠信待人。
程序員自我評價13
光陰如梭,半年的工作轉瞬即將成為歷史,伴隨著新年鐘聲的臨近,我們依依惜別碩果累累的20xx年,滿懷熱情的迎來即將到來的20xx年。在這年終之際,現對來公司5個月的時間里所作的工作匯報如下:
1、正義erp項目的編碼工作。
從了解新疆正義項目的背景、及計劃安排,熟悉正義公司制度及業務流程,再到熟悉新能開發模式,之后我根據需求調研報告,從基本的數據庫創建,到編碼,完成了銷售部、生產部、采購部、質檢部四個模塊的基本單據的制單、審核、選單、查詢、打印等系列的`編碼工作;完成了正義項目的模塊測試及流程測試。
通過這段時間的努力,使我個人的耐心、細心程度及對工作的合理安排得到了鍛煉,學會了在繁忙之中找條理,危難之中找希望。同時自己也有一些不足之處,一些細節地方技術上還不太成熟,還需加以學習與鉆研。
2、正義erp項目的實施工作。
從十一月初開始進行正義項目的實施,每天早起趕在企業上班前趕到企業進行erp的實施。實施期間主要是軟件的安裝實施及對企業的erp系統的使用人員進行軟件使用培訓;紀錄客戶使用過程中出現的問題,晚上下班后加班加點將每天的小錯誤及客戶變更修改完畢。
通過這項工作,使我原本欠缺的業務能力得到了很大的提高,并學到了很多與客戶交流的技巧及業務上的知識,更加明晰了erp系統的流程。但離一個成功程序開發人員的標準還差得很遠,在今后工作中,定會多多注意,加以改善。
3、幫助和使用手冊文檔的編寫。
幫助的編寫使我熟悉了dreameweaver和fireworks的使用,為后期的oa開發也奠定一定的基礎,使用說明的編寫,使我更加加深了項目開發的整體思路與技術要點,總結了前期開發和實施中碰到的問題,并又一次的對軟件整體進行了測試,對暴露出的小bug進行了最后的修改。
4、利用工作之余的休息時間加強學習。
平時注意收集有關pb方面的資料文件,提高自己的處理新問題和解決新問題的能力,并加強學習java及oa方面的知識(現轉為學習。net),為后期的工作打好基礎。
以上為本人粗略的個人工作小結,請領導審閱,如工作上有不到之處,請領導不吝指出,以便本人及時改正,從而能更好地工作。
展望臨近的20xx年,我會更加努力、工作上認真負責,再接再厲,更上一層樓。相信自己會完成新的任務,能迎接新的挑戰。
程序員自我評價14
1、勤奮認真,做事熱情積極,較強的責任心。
2、環境適應能力強,能夠很快適應新的工作環境。
3、具備團隊合作意識,善于協調團隊中的人際關系。
4、能夠虛心接受他人的'意見與建議,對符合的予以采納。
5、熟練面向對象編程思想,扎實的Java基礎知識,精通Jsp、Servlet、Jdbc下的編程開發。
6、精通Struts、Hibernate、Spring開源框架,并熟練運用MVC設計模式,并具有使用這些技術的豐富經驗。
7、熟練使用MyEclipse 、Dreamweaver、Jcreator等開發工具。
8、熟練掌握Tomcat、Weblogic、JBoss等Web容器以及J2EE容器的配置以及部署。
9、熟練掌握運用SQLServer、Oracle、MySql等數據庫及操作語言。
10、能熟練使用Javascript、Ajax、CSS技術提高系統的友好性、可操作性、提升用戶體驗效果。
11、靈活使用Html、DHtml等網頁設計語言,理解XML標記語言。
12、了解Linux系統下常用開發工具的安裝和操作。
13、熟悉CVS、UML等開發輔助技術。
程序員自我評價15
四年的校園生活,使我自身的綜合素質、修養、為人處事能力以及交際能力等都有了質的飛躍;讓我懂得了除學習以外的個人處事能力的重要性和交際能力的必要性。
學習方面,我覺得大學生的首要任務還是學好文化知識,所以在學習上我踏踏實實,一點也不放松。我認為好的學習方法對學好知識很有幫助,所以在每次考試后,我都會總結一下學習經驗。一份耕耘一分收獲,每每看到自己可喜的成績,我就會感嘆只要有決心,沒有什么事是不可能的。
對于我們計算機相關專業的學生來說,光光學好書本上的知識是遠遠不夠的。我利用課余時間經常閱覽計算機類的書籍,并參加了一些計算機水平的資格考試,取得了不錯的成績。
學習固然重要,一個人能力的培養也不容忽視。四年的大學生活給了我很多挑戰自我的機會,如系學生會的競選,院里組織的演講比賽,文化藝術節的文藝匯演、英語演講比賽等。在參與這些活動的過程中,我結交了一些很好的朋友,學到了為人處事的方法,鍛煉了自己的能力。
這些經歷使我明白有些事情如果嘗試了,成功的機會就有一半,如果不去嘗試,成功的幾率只能為零。機會來臨時,我們就要好好地把握祝
思想方面,我追求上進,思想覺悟有了很大的提高。我熱愛祖國,熱愛人民,堅決擁護共產黨領導和社會主義制度。我覺得一個人的價值是由他對社會對別人所做的貢獻來衡量的,我加入中國共產黨的'原因也是要努力實現自我價值。我認真學習黨的各種理論,并努力把他們付之于實踐,對黨有了更加清晰的認識。
在課余生活中,我都能積極地參加各種集體活動,表現不錯。系里以及學校組織的各種文體活動,足球賽、籃球賽、乒乓球賽等我都能上去表現一下,不但鍛煉了身體還能為集體爭光,取得較好名次。
在即將走向工作崗位前夕,我心情十分激動,作為一名來自農村的學生,我繼承了中國農民的勤勞、堅忍不拔和不怕苦的精神,我會繼續發揚這種精神,愛崗敬業,發揮自己的最大潛能!成為一名優秀的程序員,接受社會的評定。