Rails 的原始碼行數比?

本文通过多个实例对比了使用Ruby on Rails与Java进行Web应用开发时的代码量,结果显示Rails在代码精简方面有显著优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

實例

看完 JavaEye 今天的文章,發現到根據 Robbin 估計
网站来说,包含了forum,blog,SNS三种大型软件 的主要功能,每个部分单独去做,都要花好几个月,合起来的代码量(包括XML配置行数)保守估计至少要3-5万行。现在用ruby on rails编写,ruby代码量只有不到5000行。
根據 Robbin 這一篇截至现在 JavaEye2.0 CVS上面代码行数,目前只有 3243行code。他保守估計 Java 跟 Rails 原始碼行數,大概是 6 : 1 ~ 10:1 的份量。

根據 poocs.net 在 這篇文章的說法
The old codebase roughly consisted of around 50.000 lines of PHP code (plus a closed-source CMS that’s not included in this calculation). We’ve rewritten most of it (some features were left out on purpose) in about 5.000 lines of Rails code.
他用 Rails 改寫 PHP 現有的 Project ,做出來的原始碼行數 PHP : Rails 是 10 : 1(註1)

根據 Beyond JAVA 裡面,Justin Gehtland 用 Rails 重寫一個用 JAVA Spring/Hibernate 寫好的 Project,他發現程式碼比例 JAVA :Rails 大概是 3.48 : 1 。附帶一提,他重寫的開發時間開發時間比是 16 : 1,更噁心的數字。(註2)

我曾經將以前寫過的一個小小 PHP Project 重寫,之前使用的 Framework 是我自己寫的 MVC 架構的PHP 程式。扣掉 HTML code ,程式碼行數大概PHP :Rails 是 8 : 1 左右吧。

GMANE 裡面有一位 Rick Bradley 提出一個healthcare網站的實例,他們將 JAVA/Hibernate/JSP/pojos/beans/Struts/Ajax 的專案轉換到 Ruby on Rails 時,他發現所有程式碼比例: JAVA 比 Rails 高達 20853 : 823,這是 25 : 1 的可怕程式碼數量比例。(註3)

結論

開發時間很難去作 Benchmark ,不過程式碼行數就很赤裸裸了。我們可以發現到,Rails 在程式碼行數上面的優勢還是相當相當明顯的。程式碼的行數代表的意思不只是開發速度的快慢有絕對的正相關,維護程式的速度也會加快,重構等等議題也會簡單許多,這是一個 Ruby on Rails 巨大的優勢。


註解
  1. 根據原文,PHP行數裡面,沒有計算一個 close source 的 CMS ,用 Ruby on Rails 實做時,也沒有implement 一些他們後來認為不重要的功能。我將兩者造成的程式碼數量增減都視為抵銷
  2. 原始碼的比例是 3293:1164,設定檔的行數是 1161:113
  3. GMANE提出 25 : 1 的驚人實例的詳細數據列表
Java version:

10361 lines of Java code
1143 lines of JSP
8082 lines of XML
1267 lines of build configuration
-----------------------------------------------------------
20853 TOTAL lines of stuff

Rails version:

494 lines of code (386 "LOC" per rake stats)
254 lines of RHTML
75 lines of configuration (includes comments in routes.rb)
0 lines of build configuration
-----------------------------------------------------------
823 TOTAL lines of stuff
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值