Skip to content

Conversation

@snowistaken
Copy link

@snowistaken snowistaken commented Mar 17, 2020

Assignment Submission: Slack CLI

Congratulations! You're submitting your assignment. Please reflect on the assignment with these questions.

Reflection

Question Answer
How did you go about exploring the Slack API? Did you learn anything that would be useful for your next project involving an API? Navigating API documentation seems to be a key aspect of utilizing any API. I feel that the Slack documentation was just good enough to understand some concepts with small amounts of effort, however it was lacking in documentation of the small details. I feel that the time I spent searching for the answers to questions that I had about these details assisted me in gaining skills that could be utilized for future API projects.
Give a short summary of the request/response cycle. Where does your program fit into that scheme? In the request response cycle the user takes an action, followed by the client making a request to the server and receiving information back. After displaying this response to the user, the user takes another action and the cycle is repeated. In my program, the request/response cycle is initiated by the user selecting an option from the menu that then begins the cycle. Examples of these actions/requests are getting a list of all users in the server, sending a message, etc.
How does your program check for and handle errors when using the Slack API? In my project I focused more on preventing the user from inputting information that would create a bad request than checking for errors in the server response. I do feel that I did cover most cases in which the user would enter something that would instantiate a bad response, however it is always better to cover as many cases as possible. If I were to refactor this project I would add preventative measures/testing to ensure that the response from the server was expected prior to relaying the response to the user in addition to the measures that I have in place currently.
How did the design and organization of your project change over time? The design of my project essentially remained the same over the course of development. I do question my implementation of the "recipient class" as I do not feel that I gave it the proper functionality to serve its purpose. If I were to revisit this project I would definitely refactor this class.
Did you use any of the inheritance idioms we've talked about in class? How? I do not believe that I utilized any inheritance idioms.
How does VCR aid in testing a program that uses an API? VCR aids in testing programs that employ an API by limiting the number of requests that need to be made to the server during the development process. By storing API interaction tests can be run faster, run at a lower cost to the developer, and responses can be referenced locally without having to access data by making a request to the program directly.

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

Successfully merging this pull request may close these issues.

1 participant