I know how much of "a piece of cake" it is for me it is to decide to scrap everything I was working and start fresh. It is as much as if every bit of my project need to be verified/monitored/analysed or else I do not consider it clean.
For instance:
I once was working on a C++ library, which I planned to release. I knew that there are strong programming language conventions, which I apply very strictly, but also project structure, which is about ensuring a logical structure and disposition of the folders and source files.
I went on with the classic one, which consists of creating folders and list them as the following:
I knew this was the classic way of disposing folders, but then I questioned myself about if there would be more flexible, alternatives. So as usual, I end up digging around the internet for about 2-3 hours and came up with several variations, such as the Boost structure (Boost C++ libraries), (Microsoft project structures recomendations), among others...
I compare all of them and realize all of them have advantages and disadvantages. Ultimately, I decide to clear my entire root folder and start again, this time with the Microsoft structure. I create all my folders again and observe their disposition. Being someone very open source oriented, I feared that using a Microsoft structure would be convenient for the people who are used to the classic structure (See above).
As usual, I make sure to clear my entire root folder, to give a sense of fresh and clean, to convince me that nothing wrong was done before.
I suppose you see where all this obsession leads, as well as how it ends. The fact that I end up destroying often what I create.
Did anyone experience this kind of behavior?
For instance:
I once was working on a C++ library, which I planned to release. I knew that there are strong programming language conventions, which I apply very strictly, but also project structure, which is about ensuring a logical structure and disposition of the folders and source files.
I went on with the classic one, which consists of creating folders and list them as the following:
bin/ <-- Where all binary compiled code go. so;dll;exe
build/ <-- Where all intermediaire files go. .obj
include/ <-- Where all header files go. .h/hh/hpp
lib/ <-- Where all static libraries go. .lib
test/ <-- Where all test files go. test.cpp/test2.cpp
src/ <-- Where all source files go. c/cc/cpp
I knew this was the classic way of disposing folders, but then I questioned myself about if there would be more flexible, alternatives. So as usual, I end up digging around the internet for about 2-3 hours and came up with several variations, such as the Boost structure (Boost C++ libraries), (Microsoft project structures recomendations), among others...
I compare all of them and realize all of them have advantages and disadvantages. Ultimately, I decide to clear my entire root folder and start again, this time with the Microsoft structure. I create all my folders again and observe their disposition. Being someone very open source oriented, I feared that using a Microsoft structure would be convenient for the people who are used to the classic structure (See above).
As usual, I make sure to clear my entire root folder, to give a sense of fresh and clean, to convince me that nothing wrong was done before.
I suppose you see where all this obsession leads, as well as how it ends. The fact that I end up destroying often what I create.
Did anyone experience this kind of behavior?