Git Product home page Git Product logo

enigma's Introduction

Enigma

Functionality = Meets Expectations 3/4

  • I have fully functioning encrypt and decrypt abilities that even tests against special characters, all run in a very easy going class/modules environment

Object Oriented Programming = Above Expectations 4/4

  • I really broke this project down into very small bites, I began with creating simple versions of my methods in the enigma class and testing for things available to me at the time, branching out from there to continue to break down the problems into bite sized chunks, I used the easy flow of modules to break out making my generated date and random number, as well as the functionality of my shifts/encoding/decoding the message,This allowed me to build a very clean and organized project. I continued to update both tests and methods very simply along the way when adding additional functionality.

Ruby Conventions and Mechanics = Above Expectations 4/4

  • I have no methods longer than 10 lines I made sure that the variables I used made sense and really explained what was happening in a way that I hope someone could come in and read the project and understand whats going on with it, I used best case enumerables(at least in my mind). I tried to stream line everything as much as I could!

Test Driven Development = Meets Expectations 3/4

  • I wrote a test for every method created and attempted to write them as robust as I could think I did have a mock in for the random number generator proving that I could pass a fake random number and get the expected outcome but I really dont 100% understand exactly how its doing what its doing(Full Disclosure). I covered things like special characters and capitalized letters in the message that I pass in to encrypt, I made it a point to write a test and then aa method and then if needed refactor tests if things were changed or added down the road.

Version Control = Meets Expectations 3/4

  • I made branches based off of the chunks of code that I felt comfortable with I wrote tests and then methods and committed them separately and made pull requests on the functionality that felt safe to push up. I never wanted to work on a branch name and work outside of the functionality intended for that branch. Thinking that if further logic written broke things I would want to be able to go back but not blow up the project but going far back. I think the messages and notes I wrote to myself also helped along the way and made things overall really laid out and planned for me

enigma's People

Contributors

pdthomson avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.