Suche senden
Hochladen
使用Rails best practices做代码审查
•
Als KEY, PDF herunterladen
•
5 gefällt mir
•
979 views
Richard Huang
Folgen
Technologie
Melden
Teilen
Melden
Teilen
1 von 28
Jetzt herunterladen
Empfohlen
NodeUkraine - Postgresql для хипстеров или почему ваш следующий проект должен...
NodeUkraine - Postgresql для хипстеров или почему ваш следующий проект должен...
DmitryChirkin1
自作コンパイラのお話
自作コンパイラのお話
秋 勇紀
TDC2016SP - Trilha Frameworks JavaScript
TDC2016SP - Trilha Frameworks JavaScript
tdc-globalcode
Ruby off Rails---rack, sinatra and sequel
Ruby off Rails---rack, sinatra and sequel
Jiang Wu
Coq to Rubyによる証明駆動開発@名古屋ruby会議02
Coq to Rubyによる証明駆動開発@名古屋ruby会議02
Hiroki Mizuno
Coqによる証明駆動開発
Coqによる証明駆動開発
Hiroki Mizuno
Objective-C Survives
Objective-C Survives
S Akai
From 0 to 60 in SPARQL in 50 Minutes
From 0 to 60 in SPARQL in 50 Minutes
ewg118
Empfohlen
NodeUkraine - Postgresql для хипстеров или почему ваш следующий проект должен...
NodeUkraine - Postgresql для хипстеров или почему ваш следующий проект должен...
DmitryChirkin1
自作コンパイラのお話
自作コンパイラのお話
秋 勇紀
TDC2016SP - Trilha Frameworks JavaScript
TDC2016SP - Trilha Frameworks JavaScript
tdc-globalcode
Ruby off Rails---rack, sinatra and sequel
Ruby off Rails---rack, sinatra and sequel
Jiang Wu
Coq to Rubyによる証明駆動開発@名古屋ruby会議02
Coq to Rubyによる証明駆動開発@名古屋ruby会議02
Hiroki Mizuno
Coqによる証明駆動開発
Coqによる証明駆動開発
Hiroki Mizuno
Objective-C Survives
Objective-C Survives
S Akai
From 0 to 60 in SPARQL in 50 Minutes
From 0 to 60 in SPARQL in 50 Minutes
ewg118
Quiz de cultura italiana
Quiz de cultura italiana
rosaband
How-To: Federalize Your Resume
How-To: Federalize Your Resume
GovLoop
Topic Maps as a service
Topic Maps as a service
Arnim Bleier
WOMANIC VERSES
WOMANIC VERSES
Devcom Media
Feldspathoids
Feldspathoids
jo
Feedstuffs
Feedstuffs
SUNY Ulster
Articulation
Articulation
mel12589
Colors Of Fauve Paintings
Colors Of Fauve Paintings
G Bai
ECG: Fascicular VT
ECG: Fascicular VT
Stanley Medical College, Department of Medicine
Feasibility study
Feasibility study
Prof.Nilesh Magar
Fiebre
Fiebre
Kenia Felix
Colour fastness
Colour fastness
Rajeev Sharan
How DSL works on Ruby
How DSL works on Ruby
Hiroshi SHIBATA
How to Begin to Develop Ruby Core
How to Begin to Develop Ruby Core
Hiroshi SHIBATA
Kubernetes and AWS Lambda can play nicely together
Kubernetes and AWS Lambda can play nicely together
Edward Wilde
Solr Masterclass Bangkok, June 2014
Solr Masterclass Bangkok, June 2014
Alexandre Rafalovitch
JRuby, Ruby, Rails and You on the Cloud
JRuby, Ruby, Rails and You on the Cloud
Hiro Asari
The details of CI/CD environment for Ruby
The details of CI/CD environment for Ruby
Hiroshi SHIBATA
Enterprise search in Plone using Solr
Enterprise search in Plone using Solr
Calvin Hendryx-Parker
rubyonrails
rubyonrails
tutorialsruby
rubyonrails
rubyonrails
tutorialsruby
Strangers In The Night: Ruby, Rack y Sinatra - Herramientas potentes para con...
Strangers In The Night: Ruby, Rack y Sinatra - Herramientas potentes para con...
Alberto Perdomo
Weitere ähnliche Inhalte
Andere mochten auch
Quiz de cultura italiana
Quiz de cultura italiana
rosaband
How-To: Federalize Your Resume
How-To: Federalize Your Resume
GovLoop
Topic Maps as a service
Topic Maps as a service
Arnim Bleier
WOMANIC VERSES
WOMANIC VERSES
Devcom Media
Feldspathoids
Feldspathoids
jo
Feedstuffs
Feedstuffs
SUNY Ulster
Articulation
Articulation
mel12589
Colors Of Fauve Paintings
Colors Of Fauve Paintings
G Bai
ECG: Fascicular VT
ECG: Fascicular VT
Stanley Medical College, Department of Medicine
Feasibility study
Feasibility study
Prof.Nilesh Magar
Fiebre
Fiebre
Kenia Felix
Colour fastness
Colour fastness
Rajeev Sharan
Andere mochten auch
(12)
Quiz de cultura italiana
Quiz de cultura italiana
How-To: Federalize Your Resume
How-To: Federalize Your Resume
Topic Maps as a service
Topic Maps as a service
WOMANIC VERSES
WOMANIC VERSES
Feldspathoids
Feldspathoids
Feedstuffs
Feedstuffs
Articulation
Articulation
Colors Of Fauve Paintings
Colors Of Fauve Paintings
ECG: Fascicular VT
ECG: Fascicular VT
Feasibility study
Feasibility study
Fiebre
Fiebre
Colour fastness
Colour fastness
Ähnlich wie 使用Rails best practices做代码审查
How DSL works on Ruby
How DSL works on Ruby
Hiroshi SHIBATA
How to Begin to Develop Ruby Core
How to Begin to Develop Ruby Core
Hiroshi SHIBATA
Kubernetes and AWS Lambda can play nicely together
Kubernetes and AWS Lambda can play nicely together
Edward Wilde
Solr Masterclass Bangkok, June 2014
Solr Masterclass Bangkok, June 2014
Alexandre Rafalovitch
JRuby, Ruby, Rails and You on the Cloud
JRuby, Ruby, Rails and You on the Cloud
Hiro Asari
The details of CI/CD environment for Ruby
The details of CI/CD environment for Ruby
Hiroshi SHIBATA
Enterprise search in Plone using Solr
Enterprise search in Plone using Solr
Calvin Hendryx-Parker
rubyonrails
rubyonrails
tutorialsruby
rubyonrails
rubyonrails
tutorialsruby
Strangers In The Night: Ruby, Rack y Sinatra - Herramientas potentes para con...
Strangers In The Night: Ruby, Rack y Sinatra - Herramientas potentes para con...
Alberto Perdomo
Liquor, Liquid и другие безопасные языки разметки в RoR
Liquor, Liquid и другие безопасные языки разметки в RoR
Александр Ежов
Optimize perl5 code for perfomance freaks
Optimize perl5 code for perfomance freaks
karupanerura
Free The Enterprise With Ruby & Master Your Own Domain
Free The Enterprise With Ruby & Master Your Own Domain
Ken Collins
Scala in practice - 3 years later
Scala in practice - 3 years later
patforna
Scala in-practice-3-years by Patric Fornasier, Springr, presented at Pune Sca...
Scala in-practice-3-years by Patric Fornasier, Springr, presented at Pune Sca...
Thoughtworks
Polyglot Grails
Polyglot Grails
Marcin Gryszko
Gemification for Ruby 2.5/3.0
Gemification for Ruby 2.5/3.0
Hiroshi SHIBATA
Graphite
Graphite
Oleg Obleukhov
遇見 Ruby on Rails
遇見 Ruby on Rails
Wen-Tien Chang
Asynchronous single page applications without a line of HTML or Javascript, o...
Asynchronous single page applications without a line of HTML or Javascript, o...
Robert Schadek
Ähnlich wie 使用Rails best practices做代码审查
(20)
How DSL works on Ruby
How DSL works on Ruby
How to Begin to Develop Ruby Core
How to Begin to Develop Ruby Core
Kubernetes and AWS Lambda can play nicely together
Kubernetes and AWS Lambda can play nicely together
Solr Masterclass Bangkok, June 2014
Solr Masterclass Bangkok, June 2014
JRuby, Ruby, Rails and You on the Cloud
JRuby, Ruby, Rails and You on the Cloud
The details of CI/CD environment for Ruby
The details of CI/CD environment for Ruby
Enterprise search in Plone using Solr
Enterprise search in Plone using Solr
rubyonrails
rubyonrails
rubyonrails
rubyonrails
Strangers In The Night: Ruby, Rack y Sinatra - Herramientas potentes para con...
Strangers In The Night: Ruby, Rack y Sinatra - Herramientas potentes para con...
Liquor, Liquid и другие безопасные языки разметки в RoR
Liquor, Liquid и другие безопасные языки разметки в RoR
Optimize perl5 code for perfomance freaks
Optimize perl5 code for perfomance freaks
Free The Enterprise With Ruby & Master Your Own Domain
Free The Enterprise With Ruby & Master Your Own Domain
Scala in practice - 3 years later
Scala in practice - 3 years later
Scala in-practice-3-years by Patric Fornasier, Springr, presented at Pune Sca...
Scala in-practice-3-years by Patric Fornasier, Springr, presented at Pune Sca...
Polyglot Grails
Polyglot Grails
Gemification for Ruby 2.5/3.0
Gemification for Ruby 2.5/3.0
Graphite
Graphite
遇見 Ruby on Rails
遇見 Ruby on Rails
Asynchronous single page applications without a line of HTML or Javascript, o...
Asynchronous single page applications without a line of HTML or Javascript, o...
Mehr von Richard Huang
Semi Automatic Code Review
Semi Automatic Code Review
Richard Huang
Rails project code review
Rails project code review
Richard Huang
rails_best practices_rubykaigi
rails_best practices_rubykaigi
Richard Huang
Rails bestpractices.com
Rails bestpractices.com
Richard Huang
Ruby application based on http
Ruby application based on http
Richard Huang
Css sprite best practices
Css sprite best practices
Richard Huang
Static Code Analysis For Ruby
Static Code Analysis For Ruby
Richard Huang
Email Contacts For Invitation
Email Contacts For Invitation
Richard Huang
Mehr von Richard Huang
(8)
Semi Automatic Code Review
Semi Automatic Code Review
Rails project code review
Rails project code review
rails_best practices_rubykaigi
rails_best practices_rubykaigi
Rails bestpractices.com
Rails bestpractices.com
Ruby application based on http
Ruby application based on http
Css sprite best practices
Css sprite best practices
Static Code Analysis For Ruby
Static Code Analysis For Ruby
Email Contacts For Invitation
Email Contacts For Invitation
Kürzlich hochgeladen
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
Maria Levchenko
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
Pixlogix Infotech
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
wesley chun
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
UK Journal
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Drew Madelung
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
The Digital Insurer
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Neo4j
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
Delhi Call girls
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
The Digital Insurer
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
HampshireHUG
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
Safe Software
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
Antenna Manufacturer Coco
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Katpro Technologies
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
Enterprise Knowledge
Slack Application Development 101 Slides
Slack Application Development 101 Slides
praypatel2
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
hans926745
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
Martijn de Jong
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
Igalia
How to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
naman860154
Kürzlich hochgeladen
(20)
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
Slack Application Development 101 Slides
Slack Application Development 101 Slides
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
How to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
使用Rails best practices做代码审查
1.
rails_best_practices flyerhzm@gmail.com Proprietary and Confiden/al. © 2010 Aurora Feint.
1
2.
•
a.k.a Richard Huang • hDp://huangzhimin.com • hDp://twiDer.com/flyerhzm • hDp://github.com/flyerhzm • OpenFeint Proprietary and Confiden/al. © 2010 Aurora Feint. 2
3.
rails_best_practices gem •
rails • 24 • • Proprietary and Confiden/al. © 2010 Aurora Feint. 3
4.
rails-bestpractices.com •
• 63 • gem • gem Proprietary and Confiden/al. © 2010 Aurora Feint. 4
5.
rails_best_practices gem
Proprietary and Confiden/al. © 2010 Aurora Feint. 5
6.
Proprietary and Confiden/al. © 2010 Aurora Feint.
6
7.
rails • • •
Proprietary and Confiden/al. © 2010 Aurora Feint. 7
8.
Java • checkstyle
Proprietary and Confiden/al. © 2010 Aurora Feint. 8
9.
Ruby • Saikuro ‐ • Flog ‐ •
Flay ‐ • Reek ‐ code smell Proprietary and Confiden/al. © 2010 Aurora Feint. 9
10.
rails_best_practices gem •
rails check list Proprietary and Confiden/al. © 2010 Aurora Feint. 10
11.
rails_best_practices gem
Proprietary and Confiden/al. © 2010 Aurora Feint. 11
12.
rails_best_practice gem
Proprietary and Confiden/al. © 2010 Aurora Feint. 12
13.
rbp gem
sexp Proprietary and Confiden/al. © 2010 Aurora Feint.
14.
sexp
class Post < ActiveRecord::Base attr_accessor :editable end s(:class, :Post, s(:colon2, s(:const, :ActiveRecord), :Base), s(:scope, s(:call, nil, :attr_accessor, s(:arglist, s(:lit, :editable)) ) ) ) Proprietary and Confiden/al. © 2010 Aurora Feint. 14
15.
sexp
def test puts "hello world" end s(:defn, :test, s(:args), s(:scope, s(:block, s(:call, nil, :puts, s(:arglist, s(:str, "hello world")) ) ) ) ) Proprietary and Confiden/al. © 2010 Aurora Feint. 15
16.
if i >
10 puts "more than ten" else puts "less than or equal to ten" end s(:if, s(:call, s(:call, nil, :i, s(:arglist)), :>, s(:arglist, s(:lit, 10)) ), s(:call, nil, :puts, s(:arglist, s(:str, "more than ten")) ), s(:call, nil, :puts, s(:arglist, s(:str, "less than or equal to ten")) ) ) Proprietary and Confiden/al. © 2010 Aurora Feint. 16
17.
Play with sexp
ruby_parser Proprietary and Confiden/al. © 2010 Aurora Feint. 17
18.
•
• trailing white space • tab spaces Proprietary and Confiden/al. © 2010 Aurora Feint. 18
19.
(prepare) •
• models • model associa/ons • model aDributes • mailers Proprietary and Confiden/al. © 2010 Aurora Feint. 19
20.
(review) •
• use model virtual aDribute • use query aDribute • always add db index • ...... Proprietary and Confiden/al. © 2010 Aurora Feint. 20
21.
Demo Proprietary and Confiden/al. © 2010 Aurora Feint.
21
22.
• diaspora github
rails • rails_best_prac/ces diaspora Proprietary and Confiden/al. © 2010 Aurora Feint. 22
23.
• rails_best_prac/ces • rails_best_prac/ces ‐‐format html •
rails_best_prac/ces ‐f html ‐‐with‐textmate • rails_best_prac/ces ‐f html ‐‐with‐mvim Proprietary and Confiden/al. © 2010 Aurora Feint. 23
24.
• rails_best_prac/ces ‐g • mvim config/rails_best_prac/ces.yml
Proprietary and Confiden/al. © 2010 Aurora Feint. 24
25.
How to write your own check list?
Proprietary and Confiden/al. © 2010 Aurora Feint. 25
26.
• rails best prac/ces
hDp://rails‐bestprac/ces.com/ • rails_best_prac/ces hDps://github.com/flyerhzm/rails_best_prac/ces • rails_best_prac/ces hDp://rdoc.rails‐bestprac/ces.com/ 03/23/11 Proprietary and Confiden/al. © 2010 Aurora Feint. 26
27.
Proprietary and Confiden/al. © 2010 Aurora Feint.
27
28.
OpenFeint •
mobile game social network ( 7 ) • • • mailto: hr@openfeint.cn Proprietary and Confiden/al. © 2010 Aurora Feint. 28
Hinweis der Redaktion
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
Jetzt herunterladen