Enviar pesquisa
Carregar
使用Rails best practices做代码审查
•
Transferir como KEY, PDF
•
5 gostaram
•
979 visualizações
Richard Huang
Seguir
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 28
Baixar agora
Recomendados
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
Recomendados
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
Mais conteúdo relacionado
Destaque
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
Destaque
(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
Semelhante a 使用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
Semelhante a 使用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...
Mais de 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
Mais de 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
Último
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
sudhanshuwaghmare1
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
The Digital Insurer
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
The Digital Insurer
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
wesley chun
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
Product Anonymous
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
Andrey Devyatkin
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
Enterprise Knowledge
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
wesley chun
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
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
Michael W. Hawkins
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
apidays
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
Pixlogix Infotech
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
Rafal Los
presentation ICT roal in 21st century education
presentation ICT roal in 21st century education
jfdjdjcjdnsjd
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
Gabriella Davis
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
UK Journal
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
Boston Institute of Analytics
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
Radu Cotescu
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
The Digital Insurer
Último
(20)
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
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...
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
presentation ICT roal in 21st century education
presentation ICT roal in 21st century education
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
使用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
Notas do Editor
\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
Baixar agora