企業應該擁有自己的代碼平臺-程式員應該寫有能力的代碼

来源:https://www.cnblogs.com/hztech/archive/2023/03/11/17205667.html
-Advertisement-
Play Games

要 在大數據,雲計算,人工智慧盛行的環境下,程式員該何去何從?企業自有的研發團隊又該如何規劃?這兩個問題在五年前,我就認真的思考和深入的分析過。程式開發模式基本經歷了以下階段。 傳統的程式開發階段 在對需求進行調研和分析後,最終得到系統的設計架構和技術選型;接下來就是程式員從第一行代碼純手工的編寫, ...


 

         在大數據,雲計算,人工智慧盛行的環境下,程式員該何去何從?企業自有的研發團隊又該如何規劃?這兩個問題在五年前,我就認真的思考和深入的分析過。程式開發模式基本經歷了以下階段。

      傳統的程式開發階段

在對需求進行調研和分析後,最終得到系統的設計架構和技術選型;接下來就是程式員從第一行代碼純手工的編寫,這種模式下存在以下幾個問題:

1、            效率低,代碼編寫速度取決於程式員的熟練程度,

2、            質量低,因為是純手工編寫,出錯是不可避免的,大量的時間在debug,同時還會為系統運行埋下了隱患

3、            風格標準不一致,因為系統的複雜性,決定了不可能一個完成所有的代碼編寫,而每個人的習慣和能力不同,就會使得不同的人寫出來的代碼各有特色,

4、            系統迭代難度大,隨著系統的運行和實際業務的校驗,免不了對系統進行升級和功能的增加,這時可能會遇到升級的程式員根本不是最初的程式員,這就不得不先讀懂程式的本來開發思路,然後才能進行修改。

5、            系統整體掌控難度大,對於項目的管理人,要花費大量的時間對程式員的開發規範進行統一,不斷的開會才能讓不同角色的程式員最大程度的瞭解整個系統的運行。

6、  成本高,對於軟體系統的開發,最大的成本就人工和管理成本。傳統的開發模式下要確保開發進度,人員增加是重要的解決方式,畢竟完全用加班的方式是不能長久的。

細功能模塊和開源框架階段

正是傳統的開發模式和手段存在上面的問題和弊端,所以就有了後來出現的各種功能模塊及各種開源框架,這在一定程度上對傳統開發模式下的問題進行了改善,可以體現在效率,穩定性,成本等方面;但是由於功能模塊的細分程度越來越小,程式員對這些模塊的整合能力和駕馭能力顯得更加重要。

在這個技術爆炸的時代,IT技術更是日新月異,對於企業而言用最新的技術不是追求的目標,解決問題才是落腳點和出發點。

如何進行程式開發

程式員該如何編碼程式呢?我認為程式員要寫代碼,但是不是最終用戶操作的系統本身,而是系統或程式工廠的開發。就像我們能買到的很多商品,技術專家設計出生產線,商品只是生產線生產出來。同樣,程式開發是否也可以有這樣的生產線呢,如果有那就解決了太多的問題,比如成本問題,標準規範的問題,代碼質量的問題,人員問題等。

 

經過上面的分析,得到一個結論,那就是程式員要做聰明的程式員,要寫有能力的代碼;企業要建造自己的程式工廠,這才是聰明的開發模式。

IT技術企業要有程式開發工廠,這樣可以最大程式的壓縮系統開發成本,也就有了市場競爭力了。這種生產線有人稱為“低代碼平臺”,我認為完全可以做到無限接近無代碼開發。讓開發發變得簡單,再簡單。

附:

代碼構建平臺已經能夠具備了基本工廠能力:

前後端分離

數據合法性校驗(前臺數據合規性,後臺邏輯校驗)

關聯對象的引用

主子視圖展示

靈活的數據檢索

多前端同步生成(客戶端(Client),瀏覽器(Browser),移動端(H5)

二維碼掃描能力

單據互推能力

消息引擎(微信,釘釘,郵件等)

業務邏輯熱插拔

代碼標準化與業務個性化統一能力

工作流引擎

列印模板定義

個性報表輸出

 

代碼構建平臺入口

代碼構建平臺操作

 

不同單據類型構建 

單據類型包括:

1、主子表(多子表) 具備單據互推能力(可配置),外部數據秒級導入,二維碼掃描快速建立,

2、單表(檔案)支持移動智設備平滑適配

3、對象引用(表頭)

4、對象引用(表體)

個性化前端代碼管理

 

 

前端js事件監聽可管理

 

 

 

 

 

後端邏輯適配

 

 主子表桌面端編輯

 

 

有移動端適配UI

 

移動端對象引用

 

 

以上僅代表個人觀點,有任何疑問 歡迎留言

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • SQL實踐1 藉著學校的資料庫實驗,來對之前學習的SQL語言進行實踐和總結。 實驗環境: macOS 13.2 (22D49) mysql Ver 8.0.32 for macos13.0 on arm64 (Homebrew) DataGrip 2022.3.3 一. DataGrip連接本地My ...
  • 本文已經收錄到Github倉庫,該倉庫包含電腦基礎、Java基礎、多線程、JVM、資料庫、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分散式、微服務、設計模式、架構、校招社招分享等核心知識點,歡迎star~ Github地址:https://github.c ...
  • Redis(REmote DIctionary Service)是一個開源的鍵值對資料庫伺服器。 Redis 更準確的描述是一個數據結構伺服器。Redis 的這種特殊性質讓它在開發人員中很受歡迎。 ...
  • 前言 今天我們來解密下init.ts中的代碼內容,並結合 vue 生命周期來分析下 vue 的初始化; GitHub github page 內容 init.ts import config from '../config' import { initProxy } from './proxy' i ...
  • 好家伙,本篇為《JS高級程式設計》第二五章“瀏覽器存儲”學習筆記 我們先來講個故事 一個“薅羊毛”的故事 (qq.com) 概括一下,就是 有個人通過網路平臺非法購買了大量“cookie”數據。 突破平臺封控,冒用他人新用戶身份,非法騙取新用戶優惠券。 拿著優惠券低價購入商品,隨後轉賣並從中賺取差價 ...
  • three.js、webgl、3D消防、智慧消防、三維消防、使用three.js(webgl)搭建智慧樓宇消防、3D園區、3D廠房、3D倉庫、設備檢測、數字孿生、物聯網3D、物業3D監控、物業基礎設施可視化運維、3d建築,3d消防,消防演習模擬,3d庫房,webGL,threejs,3d機房,bim... ...
  • 在前端開發中,策略模式是一種常用的設計模式,它可以讓我們在不改變對象本身的情況下,通過修改其內部的演算法實現不同的行為。策略模式常常被用於實現一些複雜的業務邏輯,特別是需要根據不同的條件進行處理的情況。 下麵是一個簡單的示例,演示瞭如何使用策略模式來實現一個計算器: // 定義一個策略對象 const ...
  • 這篇文章主要描述非同步設計,非同步是一種程式設計的思想,使用非同步模式設計的程式可以顯著減少線程等待,從而在高吞吐量的場景中,極大提升系統的整體性能,降低請求時延。 ...
一周排行
    -Advertisement-
    Play Games
  • Dapr Outbox 是1.12中的功能。 本文只介紹Dapr Outbox 執行流程,Dapr Outbox基本用法請閱讀官方文檔 。本文中appID=order-processor,topic=orders 本文前提知識:熟悉Dapr狀態管理、Dapr發佈訂閱和Outbox 模式。 Outbo ...
  • 引言 在前幾章我們深度講解了單元測試和集成測試的基礎知識,這一章我們來講解一下代碼覆蓋率,代碼覆蓋率是單元測試運行的度量值,覆蓋率通常以百分比表示,用於衡量代碼被測試覆蓋的程度,幫助開發人員評估測試用例的質量和代碼的健壯性。常見的覆蓋率包括語句覆蓋率(Line Coverage)、分支覆蓋率(Bra ...
  • 前言 本文介紹瞭如何使用S7.NET庫實現對西門子PLC DB塊數據的讀寫,記錄了使用電腦模擬,模擬PLC,自至完成測試的詳細流程,並重點介紹了在這個過程中的易錯點,供參考。 用到的軟體: 1.Windows環境下鏈路層網路訪問的行業標準工具(WinPcap_4_1_3.exe)下載鏈接:http ...
  • 從依賴倒置原則(Dependency Inversion Principle, DIP)到控制反轉(Inversion of Control, IoC)再到依賴註入(Dependency Injection, DI)的演進過程,我們可以理解為一種逐步抽象和解耦的設計思想。這種思想在C#等面向對象的編 ...
  • 關於Python中的私有屬性和私有方法 Python對於類的成員沒有嚴格的訪問控制限制,這與其他面相對對象語言有區別。關於私有屬性和私有方法,有如下要點: 1、通常我們約定,兩個下劃線開頭的屬性是私有的(private)。其他為公共的(public); 2、類內部可以訪問私有屬性(方法); 3、類外 ...
  • C++ 訪問說明符 訪問說明符是 C++ 中控制類成員(屬性和方法)可訪問性的關鍵字。它們用於封裝類數據並保護其免受意外修改或濫用。 三種訪問說明符: public:允許從類外部的任何地方訪問成員。 private:僅允許在類內部訪問成員。 protected:允許在類內部及其派生類中訪問成員。 示 ...
  • 寫這個隨筆說一下C++的static_cast和dynamic_cast用在子類與父類的指針轉換時的一些事宜。首先,【static_cast,dynamic_cast】【父類指針,子類指針】,兩兩一組,共有4種組合:用 static_cast 父類轉子類、用 static_cast 子類轉父類、使用 ...
  • /******************************************************************************************************** * * * 設計雙向鏈表的介面 * * * * Copyright (c) 2023-2 ...
  • 相信接觸過spring做開發的小伙伴們一定使用過@ComponentScan註解 @ComponentScan("com.wangm.lifecycle") public class AppConfig { } @ComponentScan指定basePackage,將包下的類按照一定規則註冊成Be ...
  • 操作系統 :CentOS 7.6_x64 opensips版本: 2.4.9 python版本:2.7.5 python作為腳本語言,使用起來很方便,查了下opensips的文檔,支持使用python腳本寫邏輯代碼。今天整理下CentOS7環境下opensips2.4.9的python模塊筆記及使用 ...