Page 2 of 2

Re: What's time consuming/boring/annoying/hard to you?

Posted: Fri Feb 01, 2008 2:45 am
by shiznatix
astions wrote:
shiznatix wrote:A complete dump of everything and the path that a script has taken (opened controller A, into init method, into method B, open model C...) until the script dies down (have the script die on error)
You mean like this? http://astions.com/dump.txt
Yes but with variables and their values so I can look at a variable and be like "oh hey buddy, why are you false when you should be true!!?!" incase the problem stems from higher up in the situation. But I suppose thats what unit testing is for but I never do the damn unit testing so this would help me out.
malcolmboston wrote:However id say im getting pretty bored with PHP / programming in general :oops: I guess all programmers go through this phase though
Me too. Got to get me out of an office and into the real world even if it does mean I can't drink as much on the weekdays. Here we go scuba-diving!

Re: What's time consuming/boring/annoying/hard to you?

Posted: Fri Feb 01, 2008 9:40 am
by alex.barylski
But I didn't see any data validation anywhere. I saw scaffolding that would take a database schema and create the save/update/delete and list pages. I started looking at other frameworks and they were all pretty much the same.
I'm not a big fan of DB classes based on schema's. In all honesty I'm not sure I see the value in that.
The code (to me at least) didn't seem very pretty in any of these either. I shouldn't have to edit 4 files, add a url mapper and controller for a single static page. I should just be able to upload it and be done. Maybe there is a way to simply add a static page but if not, these developers have lost their mind.
The reusability and/or loose coupling is typically a result of having each in 4 or more separate files. While I agree it's a PITA to manage these for each page/script, it's that modularity that gives the framework flexibility. I think solving that problem at the framework level is the wrong approach. Here is where powerful IDE's or code generating wizards would come in handy. IMHO anyways. :)
If I can make these 15 twenty minute tasks trivial and you can end up completing them all in a few minutes, I've just saved you 5 hours of time - Over and over and over and over again.
I think that is the goal of every framework. ;)

I'm always interested in seeing how people solve problems and I look forward to your release, for sure.

Keep us posted. :)

Re: What's time consuming/boring/annoying/hard to you?

Posted: Fri Feb 01, 2008 12:00 pm
by Christopher
The reality is that it is not a real framework until a group of people consider it their framework. Everyone has a codebase...

1. Forms are tedious, but worst is upgrading your old sites to your new code base. You see all your old 'bad' ideas and it makes you wonder about all of your new 'good' ideas. ;)

2. Best practices top to bottom

3. Fast to code complex features; easy to maintain.

4. Slow to code complex features; hard to maintain.

5. If you do the same thing on two projects, that could go in the framework.

6. The source.

7. N/A

8. A quick look at the available implementation styles

9. Everyone changes their 'style' as they learn new things. The real question is how to decide between two 'styles' that are equal just different.

10. 'Transparent' is not very interesting to me ... well designed is ...

Everyone has their own framework. Almost all of these are really the same. The biggest difference is probably naming and how people combine things to simplify. Some people combine A and B, others B and C , but the all have A, B and C. It is those combining shortcut that make a code base fast for one programmer to do the kinds of project she/he does. But it is also those shortcuts that make it not a real general purpose framework

The best thing you can to release your code and hope you get good feedback. I have had a code base that I have maintained for a long time. I upgraded it PHP5 a while back and a few other people have gotten involved in designing and coding. The code base has improved greatly from having multiple people involved. It is still being redesigned and rethought. It is probably familiar to some here as The Skeleton Framework. Anyone is free to download it here. Input is welcome (negative is more helpful than positive).

The thing I have learned (besides that most of my code sucks ;)) is that a team can produce much better designed code than an individual. We recently have had some great design input from a familiar maniac that is really going to shake up the code for the better. The fun becomes not endlessly tweaking your own code base, but having smart people present better ways to do things.

Re: What's time consuming/boring/annoying/hard to you?

Posted: Fri Feb 01, 2008 1:02 pm
by alex.barylski
The reality is that it is not a real framework until a group of people consider it their framework. Everyone has a codebase...
I'm not sure what you mean by that...why does it take more than once persons acceptance before a "codebase" becomes a "framework"?

I have always understood codebase to be a generic term to describe either an entire application, library or framework, depending on your perspective. Perhaps the "base" in code base suggests a starting point, but that ia relative to your perspective as well. If I come into an application when it's 3/4 finished...then the codebase is everything from the point where I start, whereas to the original developer it may be the common functions he/she has compiled into a functions.php script.
The thing I have learned (besides that most of my code sucks ) is that a team can produce much better designed code than an individual. We recently have had some great design input from a familiar maniac that is really going to shake up the code for the better. The fun becomes not endlessly tweaking your own code base, but having smart people present better ways to do things.
Yes and no. :P

While I agree that two heads are usually better than one. Many heads also leads to expediant bloat and bad design. I know I'll get flamed for this, but that is my biggest quarrels with open source...too many cooks in the kitchen so to speak. :)

Re: What's time consuming/boring/annoying/hard to you?

Posted: Fri Feb 01, 2008 11:57 pm
by Benjamin
Hi arborint, I appreciate your input. I think that technically speaking, what I have developed matches the definition of a framework.

I've no doubt that releasing this into the wild will be both exciting and scary. Exciting because of all the wonderful additions others can make to it, and scary because this code that I have written is going to be a tough nut to swallow for many. I'm sure others will like it, but there is a good chance it will be either a love or hate relationship. Some of you may continuously let out a stream of obscenities while looking at the code base. It's so unconventional it's not even funny. As far as quality goes, it's very readable, easy to understand, incredibly efficient, versatile and fast. I'd say that others would be hard pressed to improve about 70% of the code base, not inclusive of modifications for feature enhancements/additions.

So yes it's going to be released, but I'm not going to rush it. I've got a vision for it, and I don't want it blurred quite yet.

Re: What's time consuming/boring/annoying/hard to you?

Posted: Sat Feb 02, 2008 5:18 am
by Kieran Huggins
arborint wrote:...a familiar maniac...
:crazy: You ain't seen nothin' yet!

[maniacal laugh] mwuhahahahahaha [/maniacal laugh]

Incidentally, my roommate's name can be anagrammed to "Maniac Nomad" - how cool is that? Seriously!

Re: What's time consuming/boring/annoying/hard to you?

Posted: Sat Feb 02, 2008 12:01 pm
by John Cartwright
Hockey wrote:
While I agree that two heads are usually better than one. Many heads also leads to expediant bloat and bad design. I know I'll get flamed for this, but that is my biggest quarrels with open source...too many cooks in the kitchen so to speak. :)
But if they are all professional and have a copy of the recipe then perhaps 5 chefs is better than one. Like arborint was saying we have had a bunch of solid code come out after some lengthy discussions, much of which would not have seen the light of day as an individual.

Re: What's time consuming/boring/annoying/hard to you?

Posted: Sun Feb 03, 2008 3:26 am
by Chris Corbyn
Jcart wrote:
Hockey wrote:
While I agree that two heads are usually better than one. Many heads also leads to expediant bloat and bad design. I know I'll get flamed for this, but that is my biggest quarrels with open source...too many cooks in the kitchen so to speak. :)
But if they are all professional and have a copy of the recipe then perhaps 5 chefs is better than one. Like arborint was saying we have had a bunch of solid code come out after some lengthy discussions, much of which would not have seen the light of day as an individual.
This is one thing I love about my job at sitepoint compared to working for the council in the UK. In my last job there was a small team of developers and we had practically next to no meetings, no discussion, no well thought out planning/specs, no unit tests. Here we have regular meetings, we get a whole bunch of people involved in planning, using UML to get some initial plans down. Lots of agreeing and disagreeing, lots of initial "bloat" (on the whiteboard) followed by backtracking and stripping out of pointless features.... in the end we get an awesome end-result as a direct consequence of having lots of people involved with great communication. Like JCart says, it comes down to professionalism too. We don't all run wild doing our own things, we take a keen interest in everyone else's code (which sometime's involves a few "dude, were you on drugs??" questions) -- we just communicate constructively.

Software development works well with more people involved. You get thing done far faster with lots of people involved. You just need to be able to communicate properly.

Re: What's time consuming/boring/annoying/hard to you?

Posted: Sun Feb 03, 2008 11:53 am
by Christopher
I think these ideas of agreement + professionalism are what I was struggling to say in my post above. It is interesting that what Chris describes is a framework as well ... it is just one they have developed at the team level that defines how they work together. I understand they also have a framework at the code level.

At any level it takes multiple people signing-on to use agreed upon styles of development, and having the professionalism to follow best practices.

Back to astions, if your code:

1) Truly follows best practices, such as proper layering, modularity, dependencies, use of patterns, life cycle, etc. and encourages the continued use of best practices, then people will perhaps see it as a quality improvement over their current code.

2) Supports development styles that people can adopt without much effort and that they can see as perhaps superior to some of their own idiosyncratic styles.

Then you may have something of interest.