GithubHelp home page GithubHelp logo

enigma's Introduction

Enigma

  • Final Project Submission

Functionality

  • For functionality, I think my project meets expectations. My enigma class successfully works with both encrypt and decrypt methods. I was also able to use file i/o to encrypt and decrypt a message that was passed through a text file.

Object Oriented Programming

  • I think I am somewhere between a 2 or 3 grade for Object Oriented Programming. This is because I did not break down my enigma class into smaller classes. Once I had the enigma class fully working, I made a couple attempts to break it down into smaller classes, but things would break, and I eventually decided to leave it before totally destroying my project. I think if I were to do this project again, I would try to have a better plan for potential classes, and build those from the beginning instead of trying to do it at the end. However, I was able to implement a module to my project that includes the elements that have to be generated in order for enigma to work, such as the characters, date, and a random 5 digit number if date/key are not passed when running encrypt or decrypt.

Ruby Conventions and Mechanics

  • I think meets expectations for ruby conventions since code is properly spaced, and lines are not excessively long. I do have a couple methods that are over ten lines, and could work on creating more helper methods to decrease my method lengths. However, none of the methods are excessively long, and think I used good enumerables (such as find_index), and also include a hash to set up my keys.

Test Driven Development

  • I believe meets expectations with all methods having a passing test. Obvious edge cases (such as a non-character and capitalization) are also tested and accounted for, so the message can still encrypt and decrypt. Simplecov showing 100% coverage. I also tried to use a stub for encrypting & decrypting a message without a date, but not sure if it is actually working.

Version Control

  • I think somewhere between a 3 and 4 for version control. I have over 40 commits and over 4 pull requests. I tried to be thoughtful about my branches to practice developer empathy, but also found that it helped me structure which piece of functionality to work on, and keep track of what was done and what to focus on next.

enigma's People

Contributors

kerynn 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.