導航:首頁 > 程序命令 > 成為一個優秀的程序員

成為一個優秀的程序員

發布時間:2024-10-27 04:07:58

A. 做一名優秀的程序員需要什麼條件

(1).要喜歡上寫程序,如果沒有喜歡上,那就要學會去培養。程序員需要整天趴在電腦前,經常沒日沒夜的,非常辛苦,而且工作來不得半點虛假,少寫一個標點符號都不行。喜歡的人,日子過得非常開心,每寫一行代碼,都會有新的成就,尤其當自己的作品被廣泛應用的時候,那種自豪感油然而起。不喜歡的人,坐在電腦前極端無聊,被進度壓得喘不過氣來,天天為找bug改bug生氣。個人深有體會!這個「喜歡」就要大家在學習的過程中去體會。
(1).程序員應該是有感情的,程序員的程序最終是由用戶來評價的,而不是老師,或者我們的BOSS。設計程序時,要講究貼心,境界:我們也是Composer!
(2).程序員應該講究團隊協作,分配給團隊的大項目,不是一人之力能夠應付的,請尊重別人的代碼,以及設計,彼此需要全心全力配合
(3).有堅韌不拔的精神,我們編的不是程,是寂寞。愛上程序設計,靠編程潛移默化性格,大多數成功的程序員都是相信自己的人,所以,多多鼓勵自己一定是最好的。
一、優秀程序員的標准

1. 能夠准確地評估你的工作。
2. 第一時間提交有質量的工作成果。
3. 建立快速的反饋循環。
4. 確保代碼的准確性與後續跟進的協調性。
二、態度生活方面
1.踏實的工作態度;認真負責,少犯錯誤。
2.充滿熱情,努力工作;有團隊合作精神,能善於和別人相處。
3.有預見性,預先感測未知因素預估風險或後果。

B. 大學生當一名優秀的程序員的具體事例

以下是一些大學生成為優秀程序員的實例:
1. 比爾·蓋茨(Bill Gates):微軟創始人,哈佛大學輟學。他在大學時期就開始開發計算機程序,成立了微軟公司,成為全球最著名的程序員之一。
2. 史蒂夫·喬布斯(Steve Jobs):蘋果公司創始人,里德學院輟學。他在大學時期就對電子產品和編程產生濃厚興趣,後來成立了蘋果公司,推動了個人電腦的發展。
3. 馬克·扎克伯格(Mark Zuckerberg):臉書(Facebook)創始人,哈佛大學輟學。他在大學時期創建了臉書網站,並逐漸將其發展成為全球最大的社交網路平台。
4. 拉里·艾利森(Larry Ellison):甲骨文公司創始人,伊利諾伊大學退學。他創立了甲骨文公司,為資料庫軟體開發做出了巨大貢獻。
5. 理查德·斯托曼(Richard Stallman):自由軟體運動奠基人,哈佛大學輟學。他創立了 GNU 項目,推動了自由軟體的發展。
6. 林納斯·托瓦茲(Linus Torvalds):Linux 內核創始人,芬蘭赫爾辛基大學退學。他在大學時期開始開發 Linux 內核,成為了開源操作系統領域的傳奇人物。
7. 大衛·凱普(David Karp):Tumblr 創始人,布朗大學輟學。他創建了博客平台 Tumblr,後來該公司被雅虎收購。
8. 張一鳴:位元組跳動(TikTok 母公司)創始人,南開大學畢業後進入清華大學讀研究生。他創立了位元組跳動,公司旗下有多款流行的社交媒體應用。
9. Evan Spiegel:Snapchat 創始人,斯坦福大學輟學。他與朋友一起創建了 Snapchat,該公司已成為全球知名的即時通訊和社交媒體平台。
10. 陳瑞興:美團點評首席技術官。他在大學時期就展示出出色的編程能力,畢業後進入互聯網行業,逐漸成為一名優秀的程序員和科技領導者。
這些事例表明,大學生完全有能力成為優秀的程序員。關鍵在於積極培養興趣、努力學習編程技能、實踐項目開發以及不斷提升自己。只要付出努力和時間,大學生完全可以在編程領域取得輝煌的成就。

C. 鍛婅瘔浣犲備綍鎴愪負浼樼鐨勭▼搴忓憳

紼嬪簭鍛8縐嶈繘闃墮斿緞錛屾嫆褰撳皬鐧

1.鏃跺埢鎻愰啋鑷宸: 瀛︿範

瀛︿範鏌愪歡浜嬬殑絎涓姝ユ槸鎵胯や綘涓嶇煡閬撱傝繖鍚璧鋒潵寰堟e父錛屼絾緇忛獙涓板瘜鐨勭▼搴忓憳榪樿板緱瑕佺湡姝h╄嚜宸辨壙璁よ繖涓鐐歸渶瑕佽姳澶氶暱鏃墮棿銆

寰堝氳$畻鏈虹戝︿笓涓氱殑瀛︾敓姣曚笟鐨勬椂鍊欙紝閮芥湁涓縐嶅緢鍌叉參鐨勬佸害錛屽氨鏄鈥滄垜鐭ラ亾鏈濂界殑鈥濓紝浣嗗叾瀹炶繖鍙鏄涓縐嶈櫄寮犲0鍔匡紝浠栦滑涓嶇煡閬撲粠鍝閲屾潵鐨勮嚜淇★紝灝卞ソ鍍忎粬浠浠涔堥兘鐭ラ亾錛屽苟涓旈渶瑕佸悜姣忎竴浣嶆柊鍚屼簨寮虹儓鐨勮瘉鏄庤繖涓鐐廣傛崲鍙ヨ瘽璇:浣犳墍璋撶殑鈥滄垜鐭ラ亾鎴戝湪鍋氫粈涔!鈥濊繖縐嶆佸害浼氬Θ紕嶄綘瀛︿範鏂扮殑涓滆タ銆

2.涓嶈佽瘯鍥捐瘉鏄庤嚜宸辨槸姝g『鐨

瑕佹兂鎴愪負浼樼鐨勪漢錛屼綘蹇呴』瀛︿細鍚冧竴鍫戦暱涓鏅恆備絾鏄騫蹭竾灝忓績錛岀粡楠屼篃鍙鑳芥暀浼氭垜浠閲嶅嶄竴浜涗笉鑹琛屼負錛岀敋鑷充篃鏁欎細鎴戜滑鍏繪垚涓浜涗笉濂界殑涔犳儻銆備負浜嗛伩鍏嶈繖縐嶇患鍚堢梲錛岀湅鐪嬩綘鍋氱殑姣忎竴縐嶄簨鎯咃紝鐒跺悗闂鑷宸:鈥滄垜鎬庢牱鎵嶈兘璁╁畠鍙樺緱鏇村ソ?鈥

鏂版墜(浠ュ強寰堝氱粡楠屼赴瀵岀殑寮鍙戜漢鍛)浼氱湅鐫浠栦滑鑷宸卞啓鐨勪唬鐮侊紝嬈h祻瀹冪殑濂囧欍備粬浠緙栧啓嫻嬭瘯鏉ヨ瘉鏄庝粬浠鍐欑殑浠g爜鏄鍙浠ヨ繍琛岀殑錛岃屼笉鏄璇曞浘璁╁畠榪愯屽け璐ャ傜湡姝d紭縐鐨勭▼搴忓憳浼氱Н鏋佸湴瀵繪壘浠栦滑鐨勯敊璇鍦ㄥ摢閲屽洜涓轟粬浠鐭ラ亾鏈緇堢敤鎴蜂細鍙戠幇榪欎簺閬楁紡鐨刡ug銆

3.鈥滀唬鐮佸彲浠ヨ繍琛屼簡鈥濊繖涓鐩鏍囦笉鏄緇堢偣錛岃屾槸璧風偣

鏄鐨勶紝浣犵殑絎涓姝ユ繪槸鎯沖啓鍑鴻川閲忓緢楂樼殑浠g爜錛岃屼笖浠g爜涓婇潰閮藉啓婊′簡娉ㄩ噴銆備絾鏄涓鑸鐨勭▼搴忓憳鍦ㄨ繖涓鐐逛笂灝遍鍑猴紝鐒跺悗緇х畫涓嬩竴浠朵簨銆備絾鏄涓鏃︹滃畬鎴愨濆氨鍋滄浜嗚繖縐嶆濇兂灝卞儚鏄鎷嶄竴寮犲揩鐓э紝鐒跺悗鏈熷緟瀹冩槸涓浠惰壓鏈鍝佷竴鏍楓

浼熷ぇ鐨勭▼搴忓憳閮界煡閬撶涓嬈¤凱浠e彧鏄涓嬈¤凱浠c傚畠榪愯岃搗鏉ヤ簡,鎮鍠滀綘!鍏跺疄榪欎釜榪囩▼灝辨槸鍦ㄥ畾涔夆滄洿濂解濈殑鍚涔夈傝╁畠鍙樺緱鏇村揩鑳芥湁浠涔堜環鍊煎悧?鍙閲嶇敤鏇撮珮鏈変粈涔堝ソ澶?鏇村彲闈犲悧?絳旀堥殢鐫姣忎釜搴旂敤紼嬪簭鐨勪笉鍚岃屼笉鍚岋紝浣嗘槸榪囩▼閮芥槸涓鏍風殑銆

4.鍐欎笁嬈′唬鐮

濂界殑紼嬪簭鍛樼洰鏍囨槸鍐欏嚭鍙浠ヨ繍琛岀殑杞浠跺氨鍙浠ヤ簡銆備紵澶х殑紼嬪簭鍛樺啓鍑烘潵鐨勮蔣浠剁洰鏍囨槸榪愯屽緱闈炲父濂姐傞氳繃涓嬈$紪鍐欒繖縐嶆儏鍐靛嚑騫充笉鍙鑳藉彂鐢熴

鏈濂界殑杞浠墮氬父琚鍐欎笁嬈:棣栧厛錛岀紪鍐欒蔣浠朵互鍚戜綘鑷宸(鎴栧㈡埛)璇佹槑瑙e喅鏂規堟槸鍙琛岀殑銆傚叾浠栦漢鍙鑳芥病鏈夋剰璇嗗埌榪欏彧鏄涓涓姒傚康楠岃瘉錛屼絾浣犵『瀹炶繖涔堝仛浜嗐傜浜屾″彲浠ヨ╁畠姝e父鍦拌繍琛屻傜涓夋′綘鑳藉熻╁畠騫崇ǔ鐨勮繍琛屻

5.闃呰誨ぇ閲忕殑浠g爜

浣犲彲鑳藉笇鏈涙垜鑳藉熷紩瀵艱繖涓寤鴻錛屽疄闄呬笂錛岃繖涔熸槸鎻愰珮緙栫▼鎶鑳界殑鏈甯歌佸拰鏈鏈変環鍊肩殑寤鴻銆傞槄璇諱粬浜轟唬鐮佺殑鍘熷洜涔熷緢閲嶈侊紝鍙鏄涓嶆槸寰堟槑鏄捐屽凡銆

褰撻槄璇誨叾浠栦漢鐨勪唬鐮佹椂錛屼綘浼氱湅鍒板叾浠栦漢鏄濡備綍瑙e喅緙栫▼闂棰樼殑銆備絾涓嶈佹妸瀹冨綋鎴愭槸鏂囧︿綔鍝侊紝鑰屾槸鎶婂畠褰撴垚涓縐嶆暀璁鍜屼竴縐嶆寫鎴樸傛兂瑕佸彉寰楁洿濂斤紝闂闂鑷宸:鎴戝﹀埌浜嗕粈涔?鎴戝備綍灝嗚繖縐嶆妧鏈搴旂敤鍒版垜榪囧幓緙栧啓鐨勪唬鐮佷腑?(鈥滄垜浠庢潵娌℃湁鎯寵繃鍙浠ヤ嬌鐢ㄩ掑綊涓嬮檷澶勭悊閭e潡鐨勯昏緫鈥)銆

6.涓嶈佹妸緙栧啓浠g爜浠呬粎鐪嬩綔鏄浠誨姟

浠庝簨涓浜虹紪紼嬮」鐩鏈夊緢澶氫紭鍔褲傞栧厛錛屽畠涓轟綘鎻愪緵浜嗕竴縐嶅︿範宸ュ叿浠ュ強瀛︿範鎶鏈鐨勬柟娉曪紝鑰岃繖浜涘伐鍏峰拰鎶鏈鍦ㄤ綘褰撳墠鐨勫伐浣滀腑鏄鐢ㄤ笉鍒扮殑錛屼絾鏄榪欏皢浣誇綘鍦ㄤ笅涓浠藉伐浣滀腑鏇存湁甯傚満銆

鏃犺轟綘鏄涓哄紑婧愰」鐩鍋氳礎鐚錛岃繕鏄涓哄綋鍦扮ぞ鍖虹粍緇囧仛鍏鐩婂伐浣滐紝浣犻兘鑳借幏寰楁妧鏈鎶鑳藉拰鑷淇°(姝ゅ栵紝浣犵殑涓浜洪」鐩鍚戞綔鍦ㄩ泧涓昏瘉鏄庯紝浣犳槸涓涓浠庝笉鍋滄㈠︿範鐨勪漢銆)緙栧啓浠g爜鐨勫彟涓涓濂藉勬槸瀹冨己榪浣犺嚜宸卞幓瑙e喅闂棰樸備綘涓嶈兘鎶婅繖浜涢毦鍟冪殑闂棰樼暀緇欏埆浜猴紝鎵浠ュ畠浼氳╀綘榪囨棭鍦板繪眰甯鍔┿

7.灝戒竴鍒囧彲鑳藉仛鍒頒笌鍏朵粬寮鍙戜漢鍛橀潰瀵歸潰鐨勫伐浣

鍊懼惉鍒浜虹殑鎰忚佹槸寰堟湁甯鍔╃殑銆傝繖鍙鑳芥剰鍛崇潃緇撳圭紪紼嬶紝鎴栬呭弬鍔犻粦瀹㈤┈鎷夋澗錛屾垨鑰呭姞鍏ヤ竴涓緙栫▼鐢ㄦ埛緇勩

褰撲綘涓轟竴涓寮婧愰」鐩鍋氳礎鐚鏃訛紝瑕佸叧娉ㄤ竴涓嬩綘浠庣敤鎴峰拰鍏朵粬寮鍙戣呭緱鍒扮殑鍙嶉堟剰瑙併備綘鍦ㄤ粬浠鐨勬壒璇勪腑鐪嬪埌浜嗕粈涔堝叡鍚岀偣?榪欐牱鍋氫綘鍙鑳戒細寰堝垢榪愬湴璁よ瘑浜嗕竴浣嶅彲浠ュ畬鍏ㄤ俊浠葷殑瀵煎笀錛屾棤璁烘槸緙栫爜鎶鏈榪樻槸鑱屼笟鍐崇瓥錛屾墍浠ヤ笉瑕佹氮璐硅繖浜涙満浼氥

8.浣犳槸鍦ㄥ︿範鎶鏈錛岃屼笉鏄鍦ㄥ﹀備綍浣跨敤宸ュ叿

緙栫▼璇璦銆佸伐鍏峰拰鏂規硶榪欎簺閮藉彧鏄涓鏃剁殑銆傝繖灝辨槸涓轟粈涔堥渶瑕佷綘鍦ㄨ繖涔堝氱殑璇璦鍜屾嗘灦涓灝藉彲鑳藉氱殑鑾峰緱緇忋傞噸鐐瑰叧娉ㄧ紪紼嬪熀紜錛屽洜涓哄熀紜姘歌繙涓嶄細鏀瑰彉錛屾洿鍏蟲敞浣撶郴緇撴瀯鑰屼笉鏄濡備綍緙栫▼銆

濡傛灉浣犺夊緱鍋氭煇浠朵簨鍙鏈変竴縐嶆g『鐨勬柟寮忥紝閭e彲鑳芥槸鏃跺欒繘琛岀幇瀹炴牳鏌ヤ簡銆傛潯鏉℃嗘嗙殑闄愬埗浼氬Θ紕嶄綘瀛︿範鏂頒簨鐗╃殑鑳藉姏錛屼篃浼氫嬌浣犲緢闅鵑傚簲鍙樺寲銆傛垜鍙浠ョ戶緇鍓嶈繘錛屼絾鑷鎴戞彁鍗囩殑鍏抽敭鍘熷垯鏄鐭ラ亾浣曟椂鍋滄銆

D. 一個好的程序員應該做到那些

1.先進行實驗成為本能反應 編譯器和運行環境通常能比人更快地解釋一個問題。一個優秀的程序員在拿著問題去向別人尋求幫助之前,會自己試試看並判斷方法是否有用,而不是直接找一個高級程序員問「我這么做有用嗎?」。
2.對待代碼和設計不情緒化 代碼就像紙巾:它有用你就用,沒用了就扔掉。幾乎我們所有人都認為代碼復用( code-reuse )很重要,盡管確實如此,但是這也不意味著要像養孩子那樣去對待代碼。代碼沒有感覺也不會在乎,它們會像法.
3.對編程有激情 很多程序員干這一行只是為了掙錢,如果有更好的職業,他們會毫不猶豫的辭掉程序員的工作。

E. 優秀程序員應該注意什麼

怎樣才是一個好的程序員呢?一個好的程序員最重要的是有永不放棄的精神。如果一個程序員沒有永不放棄的精神,那就不能是一個優秀的程序員,通往成功的道路是非常不容易的,那麼如何才能成為一名優秀的程序員呢?下面雲南電腦培訓為大家介紹優秀程序員應該注意什麼。


一、不輕易放棄

想要成為一名真正的程序員,最重要的是對於自己充滿信心,不要輕易放棄。編程時我們會遇到無數的問題和困難,並且還會面對失敗,但是最終我們都會迎來成功。想要成為一名優秀的程序員,需要清楚上面的問題,在面對失敗的時候不放棄,通過更多的努力走向成功。

作為程序員,我們可能會坐在電腦前10或甚至數十小時解決問題。一個問題已經解決,可能還有其他問題。如果你不能堅持下去,也許以前所有的努力都會白費。雲南IT培訓認為容易被擊敗的人是不能成為程序員的,並且不會成功。堅持不懈是最有價值的,能夠堅持的程序員都是相信自己的人,他們總是鼓勵自己。如果你這樣做,你就可以解決很多困難,走向成功,這就是堅持下去的理由。

二、不驕傲自滿

在整個編程過程中,需要不斷的研究和學習,這是一個非常漫長的過程。一名優秀的程序員是永遠不會覺得自己足夠好的,他會讓自己不斷改變和進步。一個自大自滿的人不是一名優秀的程序員,並且很快就會面臨落後和失敗。因此,昆明IT培訓發現,一名優秀的程序員會覺得自己不夠好,需要不斷的完善自己,不會在別人面前故意炫耀,這是一種謙虛的表現,只有努力的人才能親身體驗。

三、擁有激情和求知慾

一名優秀的程序員是需要充滿激情和活力的,對知識的渴望是軟體開發的驅動力。只有當你充滿求知慾的時候,你才能繼續學習,不斷的充實自己,滿足自己求知慾,這樣才能不斷的超越自己。昆明電腦培訓認為如果一個人失去了對編程的興趣,那麼很快就會被時代所淘汰。


F. 一個好的程序員應該具備什麼品質

一個好的程序員應該具備以下品質:

持續學習的熱情

優秀的程序員明白技術不斷在發展,編程語言、框架和工具都在不斷更新。他們始終保持對新技術的好奇心,樂於不斷學習和嘗試新的方法。這種持續學習的熱情使他們能夠適應快速變化的技術環境,並不斷提升自己的技能。

解決問題的能力

程序員的核心職責是解決問題。好的程序員能夠分析復雜的問題,將其拆解成更小的部分,並逐一解決。他們善於利用邏輯思維和創造力,找到有效的解決方案。同時,他們也能夠從過去的經驗中學習,不斷優化自己的解決策略。

團隊合作的能力

軟體開發通常是一個團隊活動,需要不同角色的成員協同工作。好的程序員能夠與其他團隊成員有效溝通,理解他們的需求和限制,並在項目中發揮積極作用。他們懂得如何分享知識、提供反饋,並在團隊中建立信任和尊重的氛圍。

注重細節和質量

好的程序員對代碼的質量和細節非常關注。他們明白一點小錯誤都可能導致大問題,因此他們始終嚴謹地對待自己的工作。他們注重代碼的可讀性、可維護性和性能,並願意花費額外的時間來確保軟體的質量。同時,他們也樂於接受他人的反饋,不斷改進自己的代碼。

綜上所述,一個好的程序員應該具備持續學習的熱情、解決問題的能力、團隊合作的能力以及注重細節和質量的品質。這些品質不僅有助於他們在職業生涯中取得成功,還能夠為團隊和組織帶來更大的價值。

G. 一個初級程序員應該具備哪些素質

作一個真正合格的程序員,應該具有的素質。

1:團隊精神和協作能力

團隊精神和寫作能力是作為一個程序員應具備的最基本的素質。軟體工程已經提了將近三十年了,當今的軟體開發已經不是編程了,而是工程。獨行俠可以寫一些程序也能賺錢發財,但是進入研發團隊,從事商業化和產品化的開發任務,就必須具備這種素質。可以毫不誇張的說這種素質是一個程序員乃至一個團隊的安身立命之本。

2:文檔習慣

文檔是一個軟體系統的生命力。一個公司的產品再好、技術含量再高,如果沒有缺乏文檔,知識就沒有繼承,公司還是一個來料加工的軟體作坊。作為代碼程序員,必須將30%的工作時間寫用於技術文檔。沒有文檔的程序員勢必會被淘汰。

3:規范化的代碼編寫習慣

知名軟體公司的代碼的變數命名、注釋格式,甚至嵌套中行縮進的長度和函數間的空行數字都有明確規定,良好的編寫習慣,不但有助於代碼的移植和糾錯,也有助於不同技術人員之間的協作。一些所謂的高手甚至叫囂高手寫的代碼一般人看不懂,我只能說他不是一名合格的程序員。

4:需求理解能力

程序員要能正確理解任務單中描述的需求。在這里要明確一點,程序員不僅僅要注意到軟體的功能需求,還應注意軟體的性能需求,要能正確評估自己的模塊對整個項目中的影響及潛在的威脅,如果有著兩到三年項目經驗的熟練程序員對這一點沒有體會的話,只能說明他或許是認真工作過,但是沒有用心工作。

5:模塊化思維能力

作為一個優秀的程序員,他的思想不能在局限當前的工作任務裡面,要想想看自己寫的模塊是否可以脫離當前系統存在,通過簡單的封裝在其他系統中或其他模塊中直接使用。這樣做可以使代碼能重復利用,減少重復的勞動,也能是系統結構越趨合理。模塊化思維能力的提高是一個程序員的技術水平提高的一項重要指標。

6:測試習慣

測試是軟體工程質量保證的重要環節,但是測試不僅僅是測試工程師的工作,而是每個程序員的一種基本職責。程序員要認識測試不僅是正常的程序調試,而要是要進行有目的有針對性的異常調用測試,這一點要結合需求理解能力。

7:學習和總結的能力

程序員是很容易被淘汰的職業,所以要善於學習總結。許多程序員喜歡盲目追求一些編碼的小技巧,這樣的技術人員無論學了多少語言,代碼寫起來多熟練,我們只能說他是一名熟練的代碼民工,他永遠都不會有質的提高。一個善於學習的程序員會經常總結自己的技術水平,對自己的技術層面要有良好的定位,這樣才能有目的地提高自己。這樣才能逐步提高,從程序員升級為軟體設計師、系統分析員、項目經理。

作為高級程序員,乃至於設計師而言,除了應該具備上述全部素質之外,還需要具備以下素質:

1、需求分析能力

2、整體框架能力

3、流程處理能力

4、模塊分解能力

5、整體項目評估能力

6、團隊組織管理能力

閱讀全文

與成為一個優秀的程序員相關的資料

熱點內容
做解壓的解壓球 瀏覽:563
伺服器地址怎麼改id 瀏覽:454
用紙做解壓器手工 瀏覽:516
如何配置本地域名伺服器 瀏覽:563
誠信可靠的重慶伺服器託管雲空間 瀏覽:977
怎樣找到用應用鎖加密的應用 瀏覽:590
百戰程序員解說 瀏覽:758
吃雞安卓怎麼遇到真人 瀏覽:20
python最好的開發工具 瀏覽:227
有關命令應用文模板 瀏覽:978
epma指標組合源碼圖片 瀏覽:884
屏幕上小圓圈怎麼取消安卓 瀏覽:342
數控車r30凹弧怎樣編程 瀏覽:653
孩子王app會員卡在哪裡看 瀏覽:315
程序員新技術教學視頻 瀏覽:717
歡太健康APP設備在哪裡 瀏覽:791
跟客戶溝通壓力大怎麼樣排解壓力 瀏覽:948
域伺服器為什麼沒有重啟選擇 瀏覽:616
智能雲伺服器如何租用 瀏覽:682
51單片機的針腳電壓是多少 瀏覽:281