后端開發除了編碼還要做什么_每個開發人員都應掌握的基本技能(除了編碼)

后端開發除了編碼還要做什么

Whether you are learning to code, looking for a new job, or just want to improve your skills as a developer, you need to master the essential tools of team collaboration. These are as important as knowing how to code.

無論您是學習編碼,尋找新工作,還是想提高開發人員的技能,您都需要掌握團隊協作的基本工具。 這些和知道如何編碼一樣重要。

It is teamwork that makes or breaks software projects.

團隊合作決定了軟件項目的成敗。

Your code will work eventually. If you want it to work “on time” and be of good quality, you and your team need to be organized.

您的代碼最終將起作用。 如果您希望它“按時”工作并具有良好的質量,則您和您的團隊需要組織起來。

  • Everyone needs to know what they have to do and when

    每個人都需要知道他們必須做什么以及何時做
  • People’s work should not overlap or clash

    人們的工作不應重疊或沖突
  • Common rules need to be followed through by everyone

    每個人都必須遵循共同的規則

You can achieve this using the right processes and tools. You want your team to focus on coding 90% of the time (the remaining 10% are for coffee breaks and Windows Updates).

您可以使用正確的流程和工具來實現這一目標。 您希望您的團隊將精力集中在90%的時間上(其余的10%用于休息時間和Windows Update)。

Here are three essential things you need to master.

這是您需要掌握的三項基本知識。

Git和Pull請求 (Git and Pull Requests)

Configuration management is the foundation of team collaboration in software. Many tools exist for it, but luckily one has become the absolute and ultimate reference: Git.

配置管理是軟件中團隊協作的基礎。 有許多工具可以使用它,但是幸運的是,有一種工具已成為絕對和最終的參考: Git 。

Documentation on the key aspects is well described in the Git Book.

在Git書中很好地描述了關鍵方面的文檔。

There are plenty of turnkey services to get started: GitHub is probably the most popular, but also BitBucket or GitLab.

有很多交鑰匙服務可以開始使用: GitHub可能是最受歡迎的,但是BitBucket或GitLab也是如此。

A great graphical tool to work with is SourceTree. I recommend you master the command line before reaching for UI tools, though.

SourceTree是一個很好的圖形工具。 不過,我建議您先掌握命令行,然后再使用UI工具。

Below are the questions you should know how to answer:

以下是您應該知道如何回答的問題:

  • How do I merge or rebase my branch, and what is the difference?

    如何合并或重新設置分支基礎,有什么區別?
  • How do I resolve conflicts? For example, mine versus theirs versus manual merge

    我該如何解決沖突? 例如,我的與他們的與手動合并
  • What is a feature branch?

    什么是功能分支 ?

  • What is a pull request?

    什么是拉取請求 ?

  • What are the different collaboration workflows in Git?

    Git中有哪些不同的協作工作流程 ?

That’s it, and this is pretty straightforward. After reading the theory and with some practice, you will become a Git master in a jiffy.

就是這樣,這很簡單。 閱讀理論知識并進行一些實踐后,您將很快成為Git大師。

敏捷板 (The Agile board)

The first thing a team needs to do when starting a project or a larger task is to split the job. Over the last 10 years, the “Agile” methodology replaced the traditional waterfall planning. The Agile manifesto is here.

團隊在開始項目或完成較大任務時需要做的第一件事就是拆分工作。 在過去的十年中,“敏捷”方法取代了傳統的瀑布規劃。 敏捷宣言在這里 。

Practically speaking it says “let’s not plan too much ahead, because inputs and assumptions we have today about the project will change”. This is almost always true, and nowadays there is hardly any team under the sun that is not (sometimes self-proclaimed) “Agile”.

實際上,它說“我們不要為未來做太多計劃,因為我們今天對項目的投入和假設將會改變”。 這幾乎總是正確的,如今在陽光下幾乎沒有一支團隊沒有(有時自稱為)“敏捷”。

Here are the practical things you need to know:

這是您需要了解的實用知識:

  • The most popular Agile way of working is Scrum. Divide your project into “sprints” of two weeks and put “tasks” in the content of the sprint. All the rest is for the future and is called the “backlog”. This is useful to track progress, adjust planning going forward, and improve team velocity over time.

    最受歡迎的敏捷工作方式是Scrum 。 將您的項目分為兩個星期的“沖刺”,并將“任務”放入沖刺的內容中。 其余的一切都是為了將??來,被稱為“ 積壓 ”。 這對于跟蹤進度,調整未來計劃以及隨時間推移提高團隊速度很有用。

  • Another Agile approach is Kanban. The idea is to limit the number of tasks that are “in progress”. This way, you are sure to close one item fully before moving to the next. There are no sprints or time frames like in Scrum. You just go through tasks one after the other until you’re done.

    另一種敏捷方法是看板 。 這個想法是為了限制“進行中”的任務數量。 這樣,您一定要先完全關閉一個項目,然后再移到下一個項目。 沒有像Scrum中那樣的沖刺或時間表。 您只是一個接一個地完成任務,直到完成。

In Agile, a software project will be split into tens or hundreds of tasks. You need a tool to manage them. The reference tool is JIRA.

在敏捷中,一個軟件項目將被分成數十個或數百個任務。 您需要一個工具來管理它們。 參考工具是JIRA 。

Other tools exist of course, but you will probably have to work with JIRA at some point. So if you are new to these all the tools, just go for JIRA. There is a free 7 day trial. It is more than enough to get an overview of how things work. Again, this is fairly straightforward, and very well-documented.

其他工具存在 ,當然,但你可能會在某個時候與JIRA工作。 因此,如果您不熟悉這些所有工具,請使用JIRA。 有7天的免費試用期 。 概要了解工作原理是綽綽有余的。 再次,這是相當簡單的,并且有據可查。

測試和持續集成 (Testing and Continuous Integration)

Git and agile tools allow teams to go fast. With speed inevitably come errors and bugs. Consider a team of five developers working on rather independent pieces of code. Each of them will make a pull request to the repository. Two problems can arise:

Git和敏捷工具使團隊可以快速前進。 隨著速度的發展,不可避免地會出現錯誤和錯誤。 考慮由五個開發人員組成的團隊,他們從事相當獨立的代碼。 他們每個人都會向存儲庫發出請求請求。 可能會出現兩個問題:

  • Once the code of the “first developer” gets to the Git repository, the code of the others is no longer valid or working because some things have changed. This is not a mistake from “the first developer”, it is just life and it will happen.

    一旦“第一個開發人員”的代碼進入Git存儲庫,其他代碼便不再有效或無法正常工作,因為某些事情已經改變。 這不是來自“第一個開發人員”的錯誤,它只是生命,并且會發生。
  • Once all the developers pushed their code to the Git repository, chances that everything work as expected out of the box are rather low. Again, this is not a reflection of poor teamwork. It will just happen.

    一旦所有開發人員將他們的代碼推送到Git存儲庫,開箱即用的一切工作的可能性就很小。 同樣,這并不表示團隊合作不佳。 它只會發生。

Therefore, you need to test your software. Even after each developer has pushed their code? It would be great, but a waste of time.

因此,您需要測試您的軟件。 即使每個開發人員都推送了代碼之后? 很好,但是浪費時間。

When other developers push their code, we’ll need to repeat this task. Should you test once everyone has pushed their code? Also great, but you’ll find bugs late in the process, which can delay the whole project. So how can you solve this?

當其他開發人員推送其代碼時,我們將需要重復此任務。 一旦所有人都推送了代碼,您是否應該進行測試? 也很棒,但是您會在過程的后期發現錯誤,這可能會延遲整個項目。 那么如何解決呢?

Automated tests and Continuous Integration are there to the rescue.

自動化測試和持續集成可助您一臂之力。

Automated testing is a topic one could write many books about. Each language and framework has its own set of tools. Listing them all would not make sense here. Just keep in mind that testing is time consuming and not always planned for.

自動化測試是一個主題,人們可能會寫很多書。 每種語言和框架都有自己的一套工具。 在這里列出它們都沒有意義。 請記住,測試是耗時的,并非總是計劃的。

Regardless, you should know how to write unit tests for your code and be proactive about writing them. If you don’t have time to actually do it, you should at least be aware that it’s wrong.

無論如何,您都應該知道如何為您的代碼編寫單元測試,并積極主動地編寫它們。 如果您沒有時間實際執行此操作,則至少應意識到這是錯誤的。

Continuous Integration is a process in which every push to your repository triggers a build and runs your tests automatically. A red flag is raised as soon as a faulty commit goes in. Pull requests should also be tested automatically before merging to avoid bugs that impact the whole team.

持續集成是一個過程,在此過程中,每次推送到存儲庫都會觸發構建并自動運行測試。 一旦有錯誤的提交進入,就會發出一個紅旗。在合并之前還應該自動測試Pull請求,以避免影響整個團隊的錯誤。

Continuous Delivery is the extension of Continuous Integration. If the tests pass properly, the tested version is pushed to the production environment automatically.

持續交付是持續集成的擴展。 如果測試正確通過,則測試版本將自動推送到生產環境。

As an example: at Quora, they track the time between a push to the repository and deployment of that code to production servers. The last benchmark I read about was 15 minutes … for around 100 developers. This is the most powerful setup a team could hope for.

例如,在Quora上 ,他們跟蹤從推送到存儲庫到將代碼部署到生產服務器之間的時間。 我讀到的最后一個基準測試是15分鐘,大約是100個開發人員。 這是團隊所希望的最強大的設置。

Popular continuous integration servers are Jenkins, Travis, CircleCI, and a few more. You do not need to know how to set the server up and everything, but you should know such tools exist, and a red alert should trigger in your head if your team do not use any.

流行的持續集成服務器是Jenkins , Travis , CircleCI等。 您不需要知道如何設置服務器以及所有內容,但是您應該知道此類工具的存在,如果您的團隊不使用任何工具,就會在您的頭腦中觸發紅色警報。

結論 (Conclusion)

The core of a developer’s job is coding. Once you move from solo/hobbyist to member of a performing team, proper use of the key collaboration tools is as important as writing clean code. Hopefully this article gave you an overview of what these tools are and how to dig further to be the best at what you do!

開發人員工作的核心是編碼。 從獨奏/愛好者轉到表演團隊成員后,正確使用關鍵協作工具與編寫清晰的代碼一樣重要。 希望本文概述了這些工具是什么,以及如何進一步挖掘以使其在您的工作中發揮最大作用!

Thanks for reading! If you find the article useful please hit the clap button below. It would mean a lot to me and it helps other people see the story!

謝謝閱讀! 如果您發現該文章有用,請點擊下面的拍手按鈕。 這對我來說意義重大,而且可以幫助其他人看到這個故事!

翻譯自: https://www.freecodecamp.org/news/3-essential-skills-every-developer-should-master-besides-coding-80e40e084241/

后端開發除了編碼還要做什么

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

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

相關文章

Python中的defaultdict方法

字典(dictionary)是Python中一種常用的數據類型。不同于其他由數字索引的序列,字典是用"鍵"(key)來索引的。通常表示為dict(key: val, ...),有以下特征: 鍵可以是任何不可變&#xff…

git撤銷commit 并保存之前的修改

撤銷并保留修改 參數 –soft # 先進行commit &#xff0c;之后后悔啦$ git commit -am "對首篇報告研究員字段改為author_name"執行git log $ git logcommit 3d6788f577faba5e1d408e372031c81beee79749Author: yous <yous.com>Date: Thu Dec 14 10:08:36 2017 …

php替換中文,PHP中文替換

//定義編碼header( Content-Type:text/html;charsetutf-8 );$wordsarray(我,你,他);$content"測一測我是不是違禁詞";$bannedgenerateRegularExpression($words);//檢查違禁詞$res_bannedcheck_words($banned,$content);write_html($content,$res_banned);/*** descr…

secoclient隧道保活超時或協商超時_推薦:承德市隧道led大屏廠家電話【聯豐智慧科技】...

通過為大型隧道施工建設搭建全覆蓋式的定位&#xff0c;可以有效施工的效率、項目現場的保障能力。安裝隧道門禁能解決哪些問題&#xff1f;近年來&#xff0c;我國交通建設正處于高速發展的階段&#xff0c;在交通建設中&#xff0c;工程安防工作也越發受到&#xff0c;越來越…

JavaScript Essentials:如何為循環而煩惱

by Zell Liew由Zell Liew JavaScript Essentials&#xff1a;如何為循環而煩惱 (JavaScript Essentials: how to wrap your head around for loops) Let’s say you want to run a function, bounceBall, four times. How would you do it? Like this?假設您要運行一次功能b…

python中的類的成員變量以及property函數

1 python類的各種變量 1.1 全局變量 在類外定義的變量。 1.2 類變量 定義在類里面&#xff0c;所有的函數外面的變量。這個變量只有一份&#xff0c;是所有的對象共有的。在類外用“類.”來引用。 1.3 實例變量 用self.xxx在類的任何函數中定義的變量就是實例變量。在類內用“s…

C++常用的系統函數

數學<math.h>&#xff1a; 1 三角函數 double sin (double); double cos (double); double tan (double); 2 反三角函數 double asin (double); 結果介于[-PI/2, PI/2] double acos (double); 結果介于[0, PI] double atan (double); 反正切(主值), 結果介于[-PI/2, PI/2…

網頁特效java代碼,美化網頁常用特效代碼

1&#xff0e;讓文字不停地滾動&#xff1c;MARQUEE&#xff1e;滾動文字&#xff1c;/MARQUEE&#xff1e;2&#xff0e;記錄并顯示網頁的最后修改時間&#xff1c;script languageJavaScript&#xff1e;document.write("最后更新時間: " document.lastModified …

作業,兩次實驗

實驗一&#xff1a; 1 編程打印5行的倒三角形&#xff0c;第一行打印9個*&#xff0c;第二行7個*&#xff0c;……第5行打印1個* #include<stdio.h>int main(){printf("*********\n *******\n *****\n ***\n *\n");return 0;} 總結 注意換行以及位置的…

javaweb和ajax使用查詢出來的數據做下拉菜單_區塊鏈瀏覽器實用指南篇:利用鏈上數據把握減半行情...

進入2020年&#xff0c;加密貨幣市場最熱的話題當屬“減半”了。在減半行情的推動下&#xff0c;以BTC為首的減半幣種展現出了極強的上行趨勢。如何抓住這一波行情&#xff0c;評估正確時機&#xff1f;當然&#xff0c;這個問題的答案可以說是爭議紛紛&#xff0c;但有一個參考…

純函數式編程語言_純功能編程語言如何改變您的生活。

純函數式編程語言by Andrea Zanin由Andrea Zanin 純功能編程語言如何改變您的生活。 (How a purely functional programming language can change your life.) I believe everyone should learn Haskell, even if you won’t use it in your work. It’s beautiful, and it ch…

Win10 教育版

Windows 10 版本 1607 引入了專為 K-12 機構的特有需求而設計的兩個版本&#xff1a;Windows 10 專業教育版和 Windows 10 教育版。 這些版本為不斷發展的 K-12 教育 IT 環境提供特定于教育的默認設置。Windows 10 專業教育版Windows 10 專業教育版基于 Windows 10 專業版的商業…

java中的排序方法,Java中的排序比較方式:自然排序和比較器排序

這里所說到的Java中的排序并不是指插入排序、希爾排序、歸并排序等具體的排序算法。而是指執行這些排序算法時&#xff0c;比較兩個對象“大小”的比較操作。我們很容易理解整型的 i>j 這樣的比較方式&#xff0c;但當我們對多個對象進行排序時&#xff0c;如何比較兩個對象…

ImageView縮放選項

ImageView.ScaleType 將圖片邊界縮放到所在view邊界時的縮放選項。 Options for scaling the bounds of an image to the bounds of this view. 不同選項含義 CENTER 居中&#xff0c;不縮放。 Center the image in the view, but perform no scaling. CENTER_CROP 居中&#x…

css命名_CSS命名約定將節省您的調試時間

css命名I have heard lots of developers say they hate CSS. In my experience, this comes as a result of not taking the time to learn CSS.我聽到很多開發人員說他們討厭CSS。 以我的經驗&#xff0c;這是因為沒有花時間學習CSS。 Korean ??韓文?? ??: ??? ?…

電腦刪除快捷鍵_可能是知乎最有用的 Windows 快捷鍵學習指南。

在任何地方搜索“快捷鍵的使用”&#xff0c;你都能找到無數的列表清單。但你應該不會專門去對照一個個的表單&#xff0c;企圖把所有快捷鍵全部掌握吧&#xff1f;經過三年左右的總結和視頻制作&#xff0c;Topbook 大概產出了 20 支左右的快捷鍵、快捷操作及應用等相關的視頻…

java自動依照日期建表,腳本根據一個表中的日期字段填充每月匯總表

你想在這里做兩件事 . 我假設您正在使用Oracle(因為您正在使用Java) .首先&#xff0c;您希望對每個用戶的每日交易進行分組 .創建一個名為 tempTable 的臨時表 .使用 to_char(currentdate, yyyy/mm/dd) 對它們進行分組 .INSERT INTO tempTableSELECTuserid,resourceid,doc_nam…

算法專題 普及組【2008】三3 C++版

轉載于:https://www.cnblogs.com/qilinart/articles/5914850.html

linux用戶修改用戶shell

要拒絕系統用戶登錄,可以將其shell設置為/usr/sbin/nologin或者/bin/false # usermod -s /usr/sbin/nologin username 或者 # usermod -s /bin/false username /bin/false/bin/false什么也不做只是返回一個錯誤狀態,然后立即退出。將用戶的shell設置為/bin/false,用戶會無法登錄…

【覆蓋安裝】通用測試點

需要xmind文檔請留言將會私發。 轉載于:https://www.cnblogs.com/syw20170419/p/10457600.html