搞懂開源框架設計思想真的這么重要嗎?終獲offer

正文

從我個人的角度寫寫30多歲碼工的感受:的確是受年齡壓力開始增大了。比如二十多歲的小年輕,可能什么都懂,對組里的東西很熟悉。有時候我也懷疑自己是不是智商不夠,是不是自學能力太差,是不是基礎不行,別人是不是都玩命加班,你知道30多歲的人那種危機感。

一.你應該承擔怎么的責任

這是專業和不專業的分水嶺。對于一般的程序員來說,責任就是及時、高質量的完成任務;對于 一個領導者來說,其責任就是統領全組,合理安排任務,讓組員各司其職。這里包括3點:

  • 承擔合適的責任。**選擇自己能力范圍內、自己喜歡做的。**一旦選擇了工作,請承擔完成的責任;
  • 學會說不。經常看到,產品經理或者領導會催促在極短的時間內完成任務,而程序員這個時候總是欲拒還休,說我來試試吧。專業的程序員對于任務有靠譜的預判和掌控力。當完成不了的時候,一定要說不。否則既是對自己不負責任,也是對他人不負責任。
  • 應對最壞的情況。程序員最悲催的莫過于搞不定任務,這個時候一定不要推卸責任。這時候最重要的是給出一個切實可行的補救方案,最好有一個完成任務的時間點。老板不在乎你為什么完不成,在乎的是究竟怎樣能完成。
    image.png

二.代碼的質量

  • 沒有Bug,每一段代碼都要有相應測試。很多人不寫測試,那是因為他們抱著僥幸心理覺得自己代碼沒問題,同時寫測試又很浪費時間。實際上保證代碼質量的第一要素就是測試,測試可以讓你檢測不同輸入所產生的輸出,有時候甚至可以推動你去修改開發代碼以提高質量。
  • 可讀性要高,讓別人看懂理解非常的重要。
  • 可擴展性和解耦性。最好的代碼不僅針對當前特殊的情況,還可以應對其他情況;以后即使對現有的代碼進行大量修改,也不應該影響其他模塊。

三.敲代碼所需要的時間長短

一個專業的程序員一周的花在計算機上的時間應該為每周60小時。最基本的40小時,要花在工作中。剩下的20小時,要花在提高自己身上。提高可以是多種多樣的:讀博客、做項目、看文檔、上公開課。

有人說沒時間,我們來算一筆賬。一周有168個小時,假設你一天睡8小時,吃喝拉撒2小時,這樣你還剩 168 - (8 + 2) x 7 = 98小時。然后你花在代碼上60個小時,你還剩 98 - 60 = 38小時。你完全可以用20個小時陪伴家人(我知道很多人沒有成家),再用10個小時與朋友聚會出游,就算這樣,你也還有8個小時可以自由支配。

之所以要在代碼上花費這么長時間,是因為軟件這一行這一行變化太快了:喬布斯逝世才5年,Google已經聲稱移動時代已經過去,現在是人工智能時代;Objective-C還沒火幾年,轉眼Swift已經出到了第3個版本;Html 5剛剛落寞,Facebook又推出了React Native試圖整合Android和iOS兩個平臺。。。技術的進步,總是讓程序員有太多的東西要去學習。
image.png

三.有自己精通的專屬領域

無論是那個領域,都有自己的一套架構體系。作為一名專業的程序員,我覺得應該至少對自己領域所有的知識都有涉獵了解;對于核心的部分,則要做到爛熟于心的程度。
之前看過一篇文章,是說新技術又新又酷,鼓勵大家快來學啊。**學習新技術的原因永遠不是因為它新、它潮,而是因為它可以更好的解決當前問題。**對于深度和廣度兩個維度誰先誰后的問題,我個人永遠支持深度優先。只有本專業弄通的情況下,才能融會貫通。Andrew Ng出名是因為他在Machine Learning的專長;提到John Carmack,大家都會想到游戲編程狂人;談起喬布斯,大家都繞不開iPhone。專業程序員能做普通程序員不能做的,這才叫專業。

###四.擁有自己獨特的思考問題的方式
很多程序員平常寫代碼只在乎能快速解決問題,不在乎選擇解決問題的方法和原因,這是典型的不知其所以然。專業的程序員,理應對每一個問題、每一步設計都有自己的理解
所以,在我們做開發的過程中,不過遇到什么樣子的問題,我們應該注重考慮我們如何提升自己的技術內功,用什么樣子的方法最完美的解決問題,而不是只求解決問題的速度。提升技術內功才是關鍵所在

五.團隊溝通

絕大多數程序員都是:一壺水一盒煙一行代碼敲一天。
只想寫代碼,做個安安靜靜的美男子,這當然無可厚非。但是你真的確定,正在在做的東西是老板希望、客戶期待的嗎?作為一名程序員,理解自己應該做什么、達到什么效果、同時讓老板知道什么能夠實現、什么實現不了,才是專業的表現。
舉個工作的實例:
部門經理:我們組A這個項目要趕緊干完,老大盯著我們。
程序員甲:好,那我趕緊做。
程序員乙:好。但能問一下這個項目為什么老大盯著?做了對整個組或者項目有什么好處?A項目的所有功能都要完成嗎?有沒有具體的截止日期?

上面我們可以看到,也許程序員甲和乙技術能力相同,但是甲更偏向于兢兢業業、努力干活的老黃牛程序員,他寫出的代碼很有可能是他認為非常好的代碼;而乙則更擅長溝通,更有大局觀的程序員,他寫出的代碼就更有可能被大家都認可。他們的專業程度高下立判。

小結

有了這么多優秀的開發工具,可以做出更高質量的Android應用。

當然了,“打鐵還需自身硬”,想要寫出優秀的代碼,最重要的一點還是自身的技術水平,不然用再好的工具也不能發揮出它的全部實力。

在這里我也分享一份大佬自己收錄整理的Android學習PDF+架構視頻+面試文檔+源碼筆記,還有高級架構技術進階腦圖、Android開發面試專題資料,高級進階架構資料這些都是我閑暇還會反復翻閱的精品資料。在腦圖中,每個知識點專題都配有相對應的實戰項目,可以有效的幫助大家掌握知識點。

總之也是在這里幫助大家學習提升進階,也節省大家在網上搜索資料的時間來學習,也可以分享給身邊好友一起學習

總之也是在這里幫助大家學習提升進階,也節省大家在網上搜索資料的時間來學習,也可以分享給身邊好友一起學習

如果你有需要的話,可以點擊這里領取

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/386645.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/386645.shtml
英文地址,請注明出處:http://en.pswp.cn/news/386645.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

gitlab 修改HTTP連接方式中的IP和端口

修改gitlab.yml文件 cd /opt/gitlab/embedded/service/gitlab-rails/config vim gitlab.yml 修改gitlab host:要修改的IPport:要修改的端口重啟gitlab gitlab-ctl restart

Coding Interview Guide -- 向有序的環形單鏈表中插入新節點

【題目】 一個環形單鏈表從頭節點head開始不降序,同時由最后的節點指回頭節點。給定這樣一個環形單鏈表的頭節點head和一個整數num,請生成節點值為num的新節點,并插入到這個環形鏈表中,保證調整后的鏈表依然有序 1 public Nod…

真香定律!Android動態換膚實現原理解析,原理+實戰+視頻+源碼

自己項目中一直都是用的開源的xUtils框架,包括BitmapUtils、DbUtils、ViewUtils和HttpUtils四大模塊,這四大模塊都是項目中比較常用的。最近決定研究一下xUtils的源碼,用了這么久總得知道它的實現原理吧。我是先從先從BitmapUtils模塊開始的。…

使用Docker啟動Grafana環境

docker search grafana docker pull grafana/grafana docker imagesdocker run -d -p 3000:3000 grafana/grafana 啟動成功,進入本機瀏覽器訪問 http://localhost:3000 使用admin/admin進入系統

js包裝類型的裝箱拆箱

https://www.jb51.net/article/155820.htm https://juejin.im/post/5cbaf130518825325050fb0a https://juejin.im/post/5ccfb58f518825405a198fcd轉載于:https://www.cnblogs.com/little-ab/p/11025952.html

真香定律!Android動態換膚實現原理解析,吐血整理

自己項目中一直都是用的開源的xUtils框架,包括BitmapUtils、DbUtils、ViewUtils和HttpUtils四大模塊,這四大模塊都是項目中比較常用的。最近決定研究一下xUtils的源碼,用了這么久總得知道它的實現原理吧。我是先從先從BitmapUtils模塊開始的。…

knife4j是為Java MVC框架集成Swagger生成Api文檔的增強解決方案

knife4j knife4j是為Java MVC框架集成Swagger生成Api文檔的增強解決方案,前身是swagger-bootstrap-ui,取名kni4j是希望它能像一把匕首一樣小巧,輕量,并且功能強悍! knife4j的前身是swagger-bootstrap-ui,為了契合微服務的架構發展,由于原來swagger-bootstrap-ui采…

調試與對拍(一):生成測試數據+對拍

今天打比賽時令小編很氣憤,隔壁LSH有文件運行錯誤,重提了一遍老師就收,而小編重提卻愛搭不理,于是小編決定還是自己造個數據把代碼重測一遍,于是潛心鉆研生成測試數據的方法。 其實很簡單,用隨機數生成器生…

真香定律!一文帶你搞懂Android多線程Handler,成功入職騰訊

Google 為了幫助 Android 開發者更快更好地開發 App,推出了一系列組件,這些組件被打包成了一個整體,稱作 Android Jetpack,它包含的組件如下圖所示: 老的 support 包被整合進了 Jetpack,例如上圖 Foundatio…

Docker安裝influxDB

1. 在Docker庫中查找influxDB鏡像 docker search influxdb # 在Docker庫中查找influxDB鏡像文件 從Docker庫中拉取influxDB鏡像 docker pull influxdb # 從docker庫中拉取influxDB鏡像,默認拉取最新版本 docker images …

(二十)python 3 匿名函數

匿名函數lambda Python使用lambda關鍵字創造匿名函數。所謂匿名,意即不再使用def語句這樣標準的形式定義一個函數。這種語句的目的是由于性能的原因,在調用時繞過函數的棧分配。其語法是: lambda [arg1[, arg2, ... argN]]: expression 其中&…

docker中啟動關閉刪除所有的容器命令

docker中 重啟啟動所有的容器命令 docker restart $(docker ps -a | awk { print $1} | tail -n 2)docker中 啟動所有的容器命令 docker start $(docker ps -a | awk { print $1} | tail -n 2)docker中 關閉所有的容器命令 docker stop $(docker ps -a | awk { print $1} | …

真香警告!2021Android高級面試題,揮淚整理面經

前言 這是“拔劍金九銀十”的第二篇文章,本文主要針對3年以上的Android開發者進階面試中高級開發工程師而整理。 希望可以對你們有所幫助。不多廢話,進入正題。 目錄: Java中高級 計算機網絡 Android高級面試—性能優化 Android優秀第三方…

51nod1584加權約數和

題目大意: 求:\[ \sum_{i-1}^n\sum_{j1}^nmax(i,j)\sigma(i*j) \] 題解 對于這個\(\max\),套路的把它轉化成:\[ 2*\sum_{i1}^n\sum_{j1}^ii*\sigma(i*j)-\sum_{i1}^n i*\sigma(i*i) \] 對于前面的部分,我們可以:\[ \su…

冗余的阿里云實例開啟和停止API

停止使用的API URL:https://api.aliyun.com/?spm5176.12818093.resource-links.dapi_platform.488716d0OrHCwQ#/?productEcs&version2014-05-26&apiStopInstance&tabDEMO&langJAVA 啟動實例: URL:https://api.aliyun.com/?spm5176.12818093.re…

知乎大V推薦!面試官6個靈魂拷問,原理+實戰+視頻+源碼

概述 想了很久怎么樣可以讓文章的標題不那么悲觀,但是各種文案都在我腦海里面不斷的被否定,要么是不那么抓眼球,要么是立意不匹配。最后想了想,這個標題是真的符合我最近的感悟。 希望看過文章,能有同感的朋友也能多…

Codeforces Round #499 (Div. 1) Solution

Codeforces Round #499 (Div. 1) Solution https://codeforces.com/contest/1010 為啥我\(\rm Div.1\)能\(A4\)題還是\(\rm specialist....\) A. Fly 二分答案&#xff0c;送分題。 #include<bits/stdc.h> using namespace std;void read(int &x) {x0;int f1;char ch…

Windows10家庭版安裝Docker Desktop(非Docker Toolbox)

現在大部分筆記本預裝的都是win10家庭版&#xff0c;而家庭版又不支持Hyper-V&#xff0c;Docker Desktop是無法直接安裝的。但其實家庭版是可以通過腳本開啟Hyper-V來安裝Docker Desktop的。下面就教大家如何操作。 開啟Hyper-V 添加方法非常簡單&#xff0c;把以下內容保存…

阿里P7手把手教你!阿里P7級別面試經驗總結,搞懂這些直接來阿里入職

什么是中年危機 根據權威數據顯示&#xff0c;國內IT程序員鼎盛時期是在25-27歲左右&#xff0c;30歲對于程序員而言完全是一個38線&#xff0c;接著就是轉業轉崗的事情&#xff0c;這一點在業界也算是一個共識了。 大學畢業步入IT行業普遍年齡也是在22歲左右&#xff0c;然而…

自適應閾值化操作:adaptiveThreshold()函數

在圖像閾值化操作中&#xff0c;更關注的是從二值化圖像中&#xff0c;分離目標區域和背景區域&#xff0c;但是僅僅通過設定固定閾值很難達到理想的分割效果。而自適應閾值&#xff0c;則是根據像素的鄰域塊的像素值分布來確定該像素位置上的二值化閾值。這樣做的好處&#xf…