Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No file for TDD Conversation with Mica #8

Open
nilesmc opened this issue Oct 24, 2013 · 0 comments
Open

No file for TDD Conversation with Mica #8

nilesmc opened this issue Oct 24, 2013 · 0 comments

Comments

@nilesmc
Copy link

nilesmc commented Oct 24, 2013

Below are the notes I took from the conversation - Please feel free to add,edit, update. I did not use spell check. :)

Testing - TDD Conversation with Mica

Testing Language:

Sliming - writing code to make the test pass, but you probably will need to re-write
YAGNE - You ain’t gonna need it.
Regressions - bugs that pop up from something before (often times because your code is too complicated).
MVP - minimum viable product, first test using acceptance
MLP - minimum launch-able product, first version you can put on the web live.
Calcify - when your tests rigidly hold back your code.
Gaps - areas where you haven’t tested

The benefits of ted code is that it is easy to change, and is a solid foundation.

Test Types:

Unit Test - testing the small problems for each method (inner loop) - ex. does the user form's methods works
Acceptance/Integration test - high level, general level test (outer loop) - ex. make a sign up form that sends a user an email.

Tools:

For Unit Tests:
RSPEC - Method Calls

Acceptance/Integration Test
Cucumber - helps you to think like a user not like a programmer.
Capybara - user stories (wireframes?)

Words of Wisdom:
*Start outside and go in.
*Make it simple first, then get more complex.
*Write 1test at a time.
*Its rare to meet ppl who test their code and do TDD.
*Its good do TDD if your code is going to be used for more than 2 weeks.
*Sometimes you need to delete tests (they are no longer relevant, they don’t meet the level of abstraction, you need to refactor deeply) They may calcify your code.
*If there is no test for a gem don’t use the code. See how many ppl have forked it, how many ppl are following, when the last time it was used.If you don’t trust it.
*Very often you re-use large chunks of your code, and tests.
*Let the tests guide you
*Don’t test things you trust, like core RUBY behavior
*Add 1 feature at a time
*Avoid using nil in your code (use hash.fetch, null object pattern)
*100% is referral,
*Deadlines are always wrong, shot to make the client happy

Process as a Freelancer :
Release a mockup
Show them MVP
Deliver new feature through out day/week
Show them MLP
Keep adding features

Things he would look for as a potential employer:
-They know Ruby, Rails, TDD
-Javascript a big plus
-Well factored code
-Open source code on github
-Contributions to open source projects
-Contributions to documentation of open source project
-They created a library they share with ppl on Github

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant