如何更快地開發應用

嘗試儘早獲得反饋

如果您是初學者,可以安全地假設將有很多方法可以改進您的代碼。如果該方法沒問題,也許您忘記在提交之前應用代碼樣式。或者,也許您在使用 Git 時犯了許多小錯誤之一,這可能與在提交消息中使用錯誤的時態一樣微妙。

從你的高級同事或導師的角度來看,不可能預測可能出現什麼問題。您需要對您的輸出進行審查,然後在那裏,可以糾正您移動的方向。您越早獲得反饋,整個過程就會越快。例如:

  • 在開始更改代碼之前寫下您認爲可以解決問題的方式
  • 在開始構建界面之前繪製界面線框
  • 在更新所有單元測試和 E2E 測試之前爲實現創建合併請求

在您請求審覈之前,不需要完全完成任務。審查事情很快,如果你幸運的話,那麼你的同事將能夠在你花太多時間走錯路之前進行審查。這是寫作與閱讀的差異——我花了大約 3 或 4 個小時寫文章,對你來說可能是 10 分鐘的閱讀時間。

儘早溝通

從你的高級同事或導師的角度來看,不可能預測可能出現什麼問題。您需要對您的輸出進行審查,然後在那裏,可以糾正您移動的方向。您越早獲得反饋,整個過程就會越快。例如:

  • 在開始更改代碼之前寫下您認爲可以解決問題的方式
  • 在開始構建界面之前繪製界面線框
  • 在更新所有單元測試和 E2E 測試之前爲實現創建合併請求

在您請求審覈之前,不需要完全完成任務。審查事情很快,如果你幸運的話,那麼你的同事將能夠在你花太多時間走錯路之前進行審查。這是寫作與閱讀的差異——我花了大約 3 或 4 個小時寫文章,對你來說可能是 10 分鐘的閱讀時間。

理解需求

第一步:確保確實需要“需要什麼”。有時,您會收到添加不應成爲系統一部分的功能的請求。或者已經有一些用戶或編寫票證的同事不知道的東西。或者要求是“很高興擁有”的東西,而不是真正重要的東西。

簡而言之,嘗試充分理解需求,以便能夠評估它們是否確實必要。

找到第三方服務

最後,沒有辦法談論向系統添加功能。下一個最佳解決方案是找到一個外部提供商來爲您完成繁重的工作。例如:

用於將地址輸入從自由文本轉換爲地圖上某個位置的雲提供商
完整的支付解決方案 — 適用於在線或實體店
一種郵件服務,可讓您發送電子郵件而不必擔心垃圾郵件過濾器
集成通常是一個令人頭疼的問題,但如果你找到一個擁有良好 API 的提供商,它可以爲你節省大量編寫和維護自己的代碼的時間。

找到第三方api

某些任務太小,無法將它們從應用程序中抽象出來並從外部工具獲取。對於許多典型和不太典型的需求,您可以找到第三方庫來提供一些幫助。庫需要權衡:

它們爲某些問題提供瞭解決方案
但需要您學習他們的 API
有時會帶來自己的問題
如果你選錯了庫,可能會給你帶來很多痛苦。在決定使用庫之前,您可以評估一些關於庫的內容:文檔;項目在 GitHub 上的外觀;與其他在線選項的比較。關於庫的其他事情,不是那麼多:庫將擁有什麼樣的未來,以及只要您的項目需要它,它是否會得到維護。

圖書館爲我們提供了哪些東西:

對日期進行操作的方法
與金錢相關的功能,因此您不必擔心結果0.1 + 0.2
生成圖表

重用代碼

某些任務太小,無法將它們從應用程序中抽象出來並從外部工具獲取。對於許多典型和不太典型的需求,您可以找到第三方庫來提供一些幫助。庫需要權衡:

它們爲某些問題提供瞭解決方案
但需要您學習他們的 API
有時會帶來自己的問題
如果你選錯了庫,可能會給你帶來很多痛苦。在決定使用庫之前,您可以評估一些關於庫的內容:文檔;項目在 GitHub 上的外觀;與其他在線選項的比較。關於庫的其他事情,不是那麼多:庫將擁有什麼樣的未來,以及只要您的項目需要它,它是否會得到維護。

圖書館爲我們提供了哪些東西:

對日期進行操作的方法
與金錢相關的功能,因此您不必擔心結果0.1 + 0.2
生成圖表

保證代碼質量

當所有這些都失敗時——儘可能少地寫以滿足需求,但儘可能寫好。以有意義的方式命名類、方法、參數和變量。記錄代碼。編寫單元測試和一些集成測試。添加一條提交消息,說明代碼中發生的情況及其原因。

當所有這些都失敗時——儘可能少地寫以滿足需求,但儘可能寫好。以有意義的方式命名類、方法、參數和變量。記錄代碼。編寫單元測試和一些集成測試。添加一條提交消息,說明代碼中發生的情況及其原因。

不要着急

不用擔心,沒有人可以快速編程。你聽說過 10x 開發者的神話嗎?據說,一些開發人員比他們的同行快 10 倍——也許那裏有一些天才,但恐怕在大多數情況下,人們會通過偷工減料來快速行動。在短期內走捷徑可能是必要的,但這樣做會產生技術債務,需要解決項目的長期健康。因此,對這個神話的迴應是:10x 開發人員是需要 10 個開發人員來清理他們的開發人員。

樂觀對待生活

日常工作充滿了可能引發緩慢感覺的情況。前幾天,我花了 2 個小時嘗試連接網絡打印機,而我的解決方案需要將其移動到客廳。每隔一段時間,我就會花費數小時來解決由一些小問題引起的問題 - 拼寫錯誤,在錯誤的地方追逐錯誤或任何其他愚蠢的錯誤。

我是否爲那些“失敗”而對自己苛刻?不。爲什麼?這是工作的一部分 - 有時您需要快速交付解決方案,有時則需要更多時間。

總結

作爲一名初級程序員,你的工作是學習東西並找到可以在項目中提供幫助的方法。每個理性的人都明白學習需要時間。在一個好的工作場所,你會得到進步所需的支持,不會被迫更快地發展。

對我來說,快速的初級程序員聽起來很可怕。我寧願有一個緩慢的初級同事,最終把事情做好。快速學習者,響應反饋 - 這聽起來很棒。但是,一個只是抽出變化很快的人 - 不是那麼多。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章