`
fireDragonpzy
  • 浏览: 454088 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

rails规范

阅读更多
Ruby on rails 开发规范
					

(一)目录 结构的 一些约定
		目录结构如下
├─app                          
│  ├─controllers  
│      └─application_controller.rb
│  ├─helpers
│      └─application_helper.rb
│  ├─mailers
│  ├─models
│  ├─views
│       ├─layouts
│            └─application.html.erb
├─config
│  ├─environments
│ 	    └─development.rb
│  	└─production.rb
│  	└─test.rb
│ 	├─initalizers
│  	└─backtrace_silencers.rb
│  	└─inflections.rb
│  	└─mime_types.rb
│  	└─secret_token.rb
│ 		└─session_store.rb
│  ├─locales
│ 		└─en.yml
│  └─application.rb
│  └─boot.rb
│  └─database.yml
│  └─environment.rb
│  └─routes.rb

├─db
│  └─seeds.rb 
├─doc
│  └─README_FOR_APP

├─lib
│  ├─tasks
│       └─.gitkeep
├─log
│ 	└─development.rb
│    └─production.rb
│    └─test.rb

├─public
│  ├─images
│  ├─javascripts
│  ├─stylesheets
│  └─404.html
│  └─422.html
│  └─500.html
│  └─favicon.ico
│  └─index.html
│  └─robots.txt
├─script
│  └─rails
├─test
│  ├─fixtures
│  ├─functional
│  ├─integration
│  ├─performance
│  ├─unit
│  └─test_helper.rb
├─tmp
│  ├─cache
│  ├─pids
│  ├─sessions
│  ├─sockets
├─vendor
│  ├─plugins
│  	└─.gitkeep
└─.gitignore
└─config.ru
└─Gemfile
└─Rakefile
└─README



     
app:Model,View,Controller都在这个目录下,大部分的工作都在这里进行。其中admin为管理类文件
config:数据库配置信息。
db:存放数据库schema和migration信息
doc:存放文档,RDoc自动生成的文档
lib:存放在Model, View和Controller间共享的代码分包
    为方便整理,不同功能的代码可放到其不同的子目录下.
调用sub_dir下的my_lib_code.rb代码的方法为: require "sub_dir/my_lib_code"
log:项目的日志信息,里面有development.log,production.log,server.log,test.log,我们在开发时的信息都写在development.log里,而测试时的log都写在test.log里。
public:web服务器把这个目录作为应用程序的根目录,可以从Web访问的目录,如果我们在浏览器的地址栏里直接输入:http://localhost:3000/那么看到的就是这里的index.html页面。
script:Rails用到的脚本,也即常用的工具程序比如:generate
test:Model测试,功能测试,测试用的数据等等。
vendor:存放外来代码, 如外来插件, 也可用来放rails构架本身, 以使rails兼容不同版本需求的程序.
tmp: 临时文件,如:cache

注释
1)	#
# 注释内容
#
2)
  =begin
  =end

(二)命名规范:
(1)基本命名规则:
1)	局部变量和方法名(method):都是小写,若以多个单词命名,则单词与单词之间用 ”_” 连接, 在 Rails 中连文件名也是按照这个规则命名:				如: user_username(局部变量)get_username(方法名), user_controller.rb    (文件名) 
2)	实例(Instance) 变量:(就是每个 Object Instance 都有的变量), 要用 ”@” 开头,其余的规则和局部变量一致										如: @name, @created_at 
3)	类(Class) 变量:(就是每个 Object Instance 都会共用的变量), 要用 "@@" 开头,其余的规则和局部变量一致											如: @@lookup_table, @@count 
4)	全局变量:要用 ”$” 开头,其余的规则和局部变量一致		 			如: $global
5)	常量:一般首字母大写,但建议全部大写,以多个单词命名,则单词与单词之间用 ’_’ 连接															如:PDF_KEK
6)	Class 名字也是属于常量:但都是开头大写其他小写并且单词与单词之间直接相连	如: AciveRecord, ApplicationController 
7)	模块与类:所有单词首字母大写,其余小写并且单词与单词之间直接相连		如:ArticlesHelper(模块),AdminBaseController(类)
8)	 参数:都是小写,若以多个单词命名,则单词与单词之间用 ”_” 连接,使用有意义的参数命名,如果可能的话,使用和要赋值的字段一样的名字				如:name

(2)命名约定:
1)	控制器(controller)、助手(helper)、视图(views)一般使用复数,实体(model)使用单数,数据库表名使用实体名称的复数					如:users_controller、users_helper、users、user、users(此顺序和上述表述一一对应)
2)	局部模板以下划线开始

(三)编程规范:
(1)编程规范:
1)	关键字之后留空格
2)	 逗号“,”、分号“;”后留空格,“,”、“;”向前紧跟,紧跟处不留空格
3)	sql语句 全部小写
4)	尽量避免一行的长度超过80个字符
5)	不允许把多个短语句写在一行中,即一行只写一条语句
6)	若函数或过程中的参数较长,则要进行适当的划分
7)	长表达式要在低优先级操作符处划分新行,操作符放在新行之首
8)	较长的语句、表达式等要分成多行书写
9)	相对独立的程序块与块之间加空行
10)函数或过程的开始、结构的定义及循环、判断等语句中的代码都要采用缩进风格

(2)编程惯例:
		功能书写
			View 层 负责页面数据显示
				    尽可能的瘦和简单化
				    尽可能合理的情况下,不写入业务逻辑
				    尽量把条件逻辑放在控制层
			Controller层 负责业务逻辑 
方法与变量要有必要的注释说明
			Model 层 负责单表数据处理与服务器端数据校验规则
helpers层 负责页面表现逻辑
		
				
(四)可读性
	  (1)避免使用不易理解的数字、字母,使用有意义的标识来替代。  
(2)不要使用难懂的技巧性很高的语句。            
(3)源程序中关系较为紧密的代码应尽可能相邻。	


分享到:
评论

相关推荐

    rails api(文档)

    Rails API 是一个专门为构建应用程序接口(API)设计的Ruby on Rails框架版本。它专注于提供一套轻量级的工具,使得开发者能够快速、高效地创建RESTful API服务。Rails API的目的是为了提高性能,并减小API服务器与...

    7-享洗-Rails 代码规范1

    《享洗自助洗衣系统Rails代码规范详解》 在软件开发过程中,代码规范是提高代码质量、增强团队协作效率的关键因素。针对北京交通大学享洗自助洗衣系统的开发,项目负责人王子杰制定了详尽的Ruby on Rails(简称...

    The Rails 4 Way

    - **Rack**:Rack是Ruby Web应用的一个接口规范,Rails基于Rack实现了自己的请求处理流程。 - **ActionDispatch**:ActionDispatch是Rails中处理HTTP请求的核心模块,负责解析请求并将请求分发到合适的控制器方法。 ...

    ruby on rails 101

    - **约定优于配置**:几乎不需要配置文件,预定义的目录结构和命名规范减少了代码量,简化了维护工作。 - **最佳实践**:采用MVC(Model-View-Controller)架构模式,分离业务逻辑、数据管理和界面展示。 #### 六、...

    Rails 学习资料

    10. **Rails最佳实践**:学习社区公认的编码规范和最佳实践,提升代码质量和可维护性。 这份Rails学习资料很可能是为了覆盖以上这些知识点,帮助你快速搭建并理解Rails应用。通过阅读文档、实践示例代码和利用辅助...

    重构你的Rails程式码

    - **Rails风格指南:** 特别针对Rails框架提供了详细的编码规范。 2. **代码覆盖率:** 使用工具如 `simplecov` 和 `coveralls.io` 来监测代码覆盖率,确保测试覆盖足够的业务逻辑,这对于重构至关重要。 - **...

    Ruby_On_Rails笔记

    Rails项目包含了许多默认文件和目录,这些文件和目录遵循特定的命名和组织规范。例如,Rails中的控制器文件通常位于app/controllers目录下,且文件名需以Controller结尾,类名则遵循小写和下划线命名约定。例如,...

    inspinia admin - v2.5 Rails_Full_Version

    12. **Rails最佳实践**:学习并遵循Rails社区推崇的最佳实践,如命名规范、代码结构和风格,以提高代码可读性和维护性。 当你解压"Rails_Full_Version"并开始开发时,可以参考这些知识点逐步构建和定制你的后台管理...

    InspiniaAdmin 2.6.1 Rails_Full_Version

    3. **表单元素**:提供多种表单控件,如输入框、下拉框、日期选择器等,以及表单验证机制,使得用户输入更加规范。 4. **多语言支持**:InspiniaAdmin支持多语言,方便构建跨国或跨地区的项目,适应全球化需求。 5...

    avocado:在Rails中自动记录JSON API

    Avocado与您的Rails规范挂钩,并生成一个包含有用信息的JSON文件。 它将JSON文件发送到可配置的URL,您可以在其中进行任何所需的操作,例如您的移动团队的Display API文档。 默认情况下,Avocado在Avocado::Engine...

    JRuby和Rails-让Ruby语言融入于Java项目.rar

    8. **最佳实践**:提供在Java环境中使用JRuby和Rails的最佳实践,指导开发者遵循最佳的设计和编码规范。 通过学习这本教程,读者将能够熟练地在Java项目中运用JRuby和Rails,实现更高效的开发流程,并充分利用两者...

    rails-intro:Rails简介分配的基本代码和规范

    HW2:RAILS简介-向鱼R添加功能 在本作业中,您将向现有的简单Rails应用程序添加功能,并将结果公开部署在Heroku云托管服务上。 我们将针对您所部署的版本运行实时集成测试。 一般建议:这项作业涉及以各种方式修改...

    2009 KungFu Rails大会JRuby演讲PPT

    首先,JRuby是一个开源的、符合Ruby语言规范的实现,由Java编写。它为开发者提供了在Java平台上使用Ruby语法和库的能力,同时也支持与Java类库的无缝集成。这使得JRuby成为混合Java和Ruby开发的利器,尤其是在需要高...

    chargen-rails:一个Ruby on Rails练习项目,将允许为至少一个桌面RPG游戏创建角色

    规范 单元(模型)测试 集成(请求)测试 用水豚进行E2E(系统)测试 以上所有的TDD Ruby一般 可能是一些前端类型的工作 入门 先决条件 确保安装了以下最新版本: 这就是您需要将代码下拉到计算机上并将更改提交...

    Rails Best Practices

    Rails最佳实践是提升代码质量和可维护性的关键,下面将详细介绍一些重要的Rails开发规范和技巧。 1. **DRY (Don't Repeat Yourself)**:DRY原则是Rails的核心哲学之一,提倡避免重复的代码。通过创建模块化、可重用...

    Agile Web Development with Rails,Fourth Edition 第四版

    此外,Rails 3 引入了插件系统的重大升级,转变为Gemfile和Bundler的使用,使得依赖管理更为规范和方便。开发人员可以通过一个统一的Gemfile来声明项目的所有依赖,并通过Bundler自动安装和管理这些gem,确保了环境...

    关于Rails登录和验证插件http_authentication restful-authentication

    2. **restful-authentication.gemspec**:这是gem规范文件,包含了插件的基本信息,如版本号、依赖项等,用于安装和管理插件。 3. **.gitignore**:列出在Git版本控制系统中应忽略的文件和目录,避免将不必要的文件...

    rails magazine issue 3

    他讨论了如何贡献代码,遵循项目规范,参与社区讨论,以及如何处理版本控制和代码审查过程。这对于希望参与开源社区并为 Ruby on Rails 项目做出贡献的开发者来说,是极其宝贵的信息。 ##### 4. 设计模式在 Ruby 中...

    Beginning.Rails.3

    3. **RESTful架构支持**:Rails 3继承了对RESTful架构的支持,使Web应用的设计更加规范和一致。 4. **强大的数据库抽象层**:Active Record模式提供了一种灵活的方式来处理数据库操作,简化了数据访问代码。 5. **...

Global site tag (gtag.js) - Google Analytics