alpha_hxCR8
Highest Rated Comments
alpha_hxCR81 karma
Are you reffering to this post? https://blog.codinghorror.com/we-are-typists-first-programmers-second/
alpha_hxCR81 karma
Hi Al,
Thanks for creating pyautogui and for writing the Automate the Boring stuff
book.. I saw your youtube video at Pycon 2016/2017, which introduced me to pyautogui and have been using it a lot to automate some stuff.
I have been coding for a few months, working on a side project trying to automate a lot of things that are pretty mundane but need to be done manually. It has gradually got pretty complex, and now I have intermittent bugs, which I can’t necessarily track down. I have been reading Code Complete and gradually implementing more Object oriented programming structure, writing better specifications, and deciding the architecture before I start coding, thinking of writing unit-tests. Because of the intermittent bugs, which I can’t track down, somebody suggested that I put my windows application in a Docker container.
Questions
It seems to me that all of the above strategies: OO, writing unit-tests, specification, requirements, source control, Docker/pyenv/virtualenv are designed as a defense mechanism against complexity of a program. So we can work with the smallest chunk.
I know that my code base can be improved a lot using the above strategies. But I dont necessarily know which one of these I should implement first.
Say you were given an unknown codebase, which was partially OO, didn’t have unit-tests, didn’t have requirements/specifications, didn’t use Docker/pyenv. How would you think about prioritizing which one of these strategies to use to improve the code base?
I also have some plans to extend the codebase urgently to some other activities, but because of the intermittent bugs, I am wondering if its better instead to stop and make the current code base more OO, have unit-tests, write out specifications, use some kind of environmental variable control/Docker, before I write new code. In your opinion, is it better to make the current code base more robust using the above strategies, before writing new code?
alpha_hxCR81 karma
Hi Alpha..
Thanks for sharing your advice.
Yeah.. my development environment doesnt change too much, but I do my development on my own computer, which turns out to be Windows.
I will work on adding unit-tests and making the new code modular, add unit tests.
alpha_hxCR81 karma
Hi Al,
Appreciate your answer and for sharing your experience. I will work on incorporating unit-tests for the existing codebase and new codebase. And work on refactoring once I get some breathing room.
The Tetris
analogy to technical debt was very helpful.
alpha_hxCR82 karma
Hi Al,
Thanks for creating pyautogui and for writing the
Automate the Boring stuff
book.. I saw your youtube video at Pycon 2016/2017, which introduced me to pyautogui and have been using it a lot to automate some stuff.I have been coding for a few months, working on a side project trying to automate a lot of things that are pretty mundane but need to be done manually. It has gradually got pretty complex, and now I have intermittent bugs, which I can’t necessarily track down. I have been reading Code Complete and gradually implementing more Object oriented programming structure, writing better specifications, and deciding the architecture before I start coding, thinking of writing unit-tests. Because of the intermittent bugs, which I can’t track down, somebody suggested that I put my windows application in a Docker container.
Questions
It seems to me that all of the above strategiest: OO, writing unit-tests, specification, requirements, source control, Docker/pyenve/virtualenv are designed as a defense mechanism against complexity of a program. So we can work with the smallest chunk.
I know that my code base can be improved a lot, but now that I know there are a lot of strategies, that can be use to improved the code base, but I know necessarily know how to prioritize my time so that I can improve my codebase most efficiently. If you were given an unknown codebase, which was partially OO, didn’t have unit-tests, didn’t have requirements/specifications, didn’t use Docker/pyenv, how would you go about prioritizing which one of these strategies to use to improve the code base?
I also have some plans to extend the code base urgently to some other activities, but because of the intermittent bugs, I am wondering if its better instead to stop and make the current code base more OO, have unit-tests, write out specifications, use some kind of environmental variable control/Docker, before I write new code?
What is the best practice in such scenarios?
View HistoryShare Link