28
what is preventing me to write nearly accurate code nhm tanveer hossain khan (hasan) http://hasan.we4tech.com somewhere in...

Hasan: Whats preventing me to write nearly accurate code

  • Upload
    sqabd

  • View
    744

  • Download
    0

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Hasan: Whats preventing me to write nearly accurate code

what is preventing me to write nearly accurate code

nhm tanveer hossain khan (hasan)http://hasan.we4tech.com

somewhere in...

Page 2: Hasan: Whats preventing me to write nearly accurate code

what are we going to talk today?

• what is preventing me (probable you too)

• how to write nearly accurate code

• question / answer session

Page 3: Hasan: Whats preventing me to write nearly accurate code

what is preventing me? my observation

Page 4: Hasan: Whats preventing me to write nearly accurate code

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

Page 5: Hasan: Whats preventing me to write nearly accurate code

patience

• from company

• from me

• => spaghetti code

• => quick solution

!

Page 6: Hasan: Whats preventing me to write nearly accurate code

unclear understanding of requirements

• from client

• from product owner

• from user story or use case

• or too detailed spec (feel like class book)

Page 7: Hasan: Whats preventing me to write nearly accurate code

commitment overflow

• from client

• from product owner

• from peer

Page 8: Hasan: Whats preventing me to write nearly accurate code

not enough space for refactoring

Page 9: Hasan: Whats preventing me to write nearly accurate code

lack of domain specific knowledge

Page 10: Hasan: Whats preventing me to write nearly accurate code

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

Page 11: Hasan: Whats preventing me to write nearly accurate code

most smart code

Page 12: Hasan: Whats preventing me to write nearly accurate code

most smart codedef test_limited_list_of_requests

get(:requests) # ... rest goes here....end

Page 13: Hasan: Whats preventing me to write nearly accurate code

most smart codedef 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 endend

Page 14: Hasan: Whats preventing me to write nearly accurate code

break!

Page 15: Hasan: Whats preventing me to write nearly accurate code

take deep breath !!

Page 16: Hasan: Whats preventing me to write nearly accurate code

welcome back!!!

Page 17: Hasan: Whats preventing me to write nearly accurate code

how to write nearly accurate code

Page 18: Hasan: Whats preventing me to write nearly accurate code

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

Page 19: Hasan: Whats preventing me to write nearly accurate code

think some one watching your code !!

Page 20: Hasan: Whats preventing me to write nearly accurate code

behavior driven development (BDD)

• before development

• create spec

• verify spec with stakeholder

• during development

• ensure all spec passed

• ensure all spec expectations were met

Page 21: Hasan: Whats preventing me to write nearly accurate code

BDD example

Page 22: Hasan: Whats preventing me to write nearly accurate code

BDD examplecontext 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 endend

Page 23: Hasan: Whats preventing me to write nearly accurate code

BDD example

Page 24: Hasan: Whats preventing me to write nearly accurate code

remember !!

Page 25: Hasan: Whats preventing me to write nearly accurate code

“your code is mirror of you”

Page 26: Hasan: Whats preventing me to write nearly accurate code

nothing preventing me to say you

Page 27: Hasan: Whats preventing me to write nearly accurate code

nothing preventing me to say you

thank you!!!

Page 28: Hasan: Whats preventing me to write nearly accurate code

now what is preventing you? (Q/A)