Hasan: Whats preventing me to write nearly accurate code

672 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
672
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
4
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Hasan: Whats preventing me to write nearly accurate code

  1. 1. what is preventing me to write nearly accurate code nhm tanveer hossain khan (hasan) http://hasan.we4tech.com somewhere in...
  2. 2. what are we going to talk today? • what is preventing me (probable you too) • how to write nearly accurate code • question / answer session
  3. 3. what is preventing me? my observation
  4. 4. being too honest! • in commitment • in writing code • skipping known issue • not feeling colorful moment • not feeling togetherness • not feeling inclusiveness • not feeling in team way instead of my way. • focusing on too many projects
  5. 5. ! patience • from company • from me • => spaghetti code • => quick solution
  6. 6. unclear understanding of requirements • from client • from product owner • from user story or use case • or too detailed spec (feel like class book)
  7. 7. commitment overflow • from client • from product owner • from peer
  8. 8. not enough space for refactoring
  9. 9. lack of domain specific knowledge
  10. 10. over complicating code/ architecture • not mockable environment • not testable environment • bootstrapping takes longer than 1 minute • <= usually team does • work with workaround • re-code similar function
  11. 11. most smart code
  12. 12. most smart code def test_limited_list_of_requests get(:requests) # ... rest goes here.... end
  13. 13. most smart code def self.included(base) %w( get post put delete head ).each do |method| base.class_eval <<-EOV, __FILE__, __LINE__ def #{method}(action, parameters = nil, session = nil, flash = nil) process(action, parameters, session, flash) end EOV end end
  14. 14. break!
  15. 15. take deep breath !!
  16. 16. welcome back!!!
  17. 17. how to write nearly accurate code
  18. 18. patience • being honest • understanding ethics • feel in team way • document all known issues • (example) formated user story • As a user I want to add comment So that visitor can find my understanding. • comment everything follow coding convention
  19. 19. think some one watching your code !!
  20. 20. behavior driven development (BDD) • before development • create spec • verify spec with stakeholder • during development • ensure all spec passed • ensure all spec expectations were met
  21. 21. BDD example
  22. 22. BDD example context Company, "while creating a new company" do it "should not be valid without a company name" do @company.should_not be_valid @company.errors.on(:name).should == "can't be blank" end it "should not have error after save" do @company.name = “somewhere in....” @company.save.should be_true @company.errors.should be_empty end end
  23. 23. BDD example
  24. 24. remember !!
  25. 25. “your code is mirror of you”
  26. 26. nothing preventing me to say you
  27. 27. nothing preventing me to say you thank you!!!
  28. 28. now what is preventing you? (Q/A)

×