(12-31-2015, 01:30 AM)orionstar Wrote: Good to read about your thoughts. I checked the CI4 repo every day since you created it, there were times after you pushed the commits made me confused why you choose that way to solve the problem, this article in some aspects makes clear what were your reasons behind the decisions.
But I can't agree with you about dropping the advanced version of loader; and not understand why you not used Narf's HTTP solution etc...
Advanced version of loader? You mean the DI Container? I wrestled with that decision for a week before giving it a try with the simpler way. It was interesting because as soon as I had it working it was like this internal sigh of happiness. Sounds weird, I know, but it was there. So far, don't regret it, and I can anticipate quite a bit less support requests with this solution than the container. There's something to be said for being able to easily understand every path through the program. It also has the benefit of your IDE knowing what class is being returned and giving proper help, which doesn't happen with a DI container. And the debug backtrace's are much clearer and helpful. And nothing's final, so who knows...
EDIT: One of the things that really got me thinking about the DI container change, and simplicity in general, was this post by Anthony Ferrara
and the video he references in the article. Definitely worth your time.
As for Narf's HTTP - he'll be the first to tell you that it was an incomplete proof-of-concept he started for another project he worked on that got shelved. There was some great code in there, and much of the final solution was inspired by his. Heck some of the code is a direct copy/paste from his work. When I started working on the current HTTP solution, it was also a proof-of-concept of a different sort. Personally, I think it works well, but like I said, nothing's final yet.
(12-31-2015, 01:30 AM)orionstar Wrote: Huge question: you are the only one who are working on CI4? (based on the commit history yes) How the developments of CI4 behind the scenes works? There are regular discussions about the development between the "core" team?
So far, I have been the one able to commit the most time into putting code into place, that's true. We have a private Trello board where we hold many discussions on the different features. Once the initial conceptual discussions were over, and we had announced our initial plans based on everyone's feedback and our own ideas, we spent a few more weeks hashing out a little more detail. Then, as I was getting ready to start on each new section, we would start a new card for that feature and discuss more specifics about it. Then I would go off and work on that feature. As with any project, there are definitely times where you can only determine something once you're actually working in the code. Certain solutions that can only be determined once you've encountered the troubles the current solution brings, etc. In those times, I would do what I thought was best at the time, then let the team know. Sometimes those get discussed and changed, other times they don't. And, I'm sure in some cases, they just haven't had the opportunity to play with it enough to determine their final thoughts. I know I keep repeating this, but it's true: nothing's final, yet, anything can change.