SitePoint Sponsor

User Tag List

Page 11 of 11 FirstFirst ... 7891011
Results 251 to 274 of 274
  1. #251
    SitePoint Addict
    Join Date
    Oct 2004
    Location
    Sutton, Surrey
    Posts
    259
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by Selkirk
    Quote Originally Posted by dagfinn
    It seems to me that trying to apply the original smalltalk definition to Web MVC is one of the main sources of confusion on the subject.
    Perhaps, but for me it was an aha moment that really clarified MVC for me. I feel that taking too broad a view of MVC is the main source of confusion about it, because then almost anything that attempts to separate domain and presentation can be called MVC (and often is). But, in that case, calling it MVC doesn't give you guidance for implementing it. The benefit of following a more strict smalltalk inspired definition of MVC is that you get then get a strict set of principles to help you implement the pattern and to answer questions like "where should X go?" or "what is a controller?"
    This article gives a comprehensive description of MVC which goes far beyond whatever may have been in the original Smalltalk implementation. It describes so many options and possibilities that it clearly demonstrates that there is no single, definitive, absolute description of what MVC is and is not. Surely that means that any developer is free to choose any implementation that he likes, with the only proviso being that it should work for the particular application being developed.

  2. #252
    SitePoint Addict
    Join Date
    Oct 2004
    Location
    Sutton, Surrey
    Posts
    259
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by Manor
    Finally, your higher productivity rate may be better at first, but will get worser as time goes by in the projects lifetime.
    I have certainly not noticed that in the two previous development infrastuctures that I have designed and built. It is true that they were expanded and enhanced over time, but my modular design made the inclusion of new facilities and their inclusion into existing components as simple as possible. This is not something, however, that I have witnessed in other people's infrastructures.

  3. #253
    SitePoint Addict
    Join Date
    Oct 2004
    Location
    Sutton, Surrey
    Posts
    259
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by seratonin
    Quote Originally Posted by Tony Marston
    Very interesting, but the examples in that article only demonstrate that the EXSLT extension can be used to access a simple string (current date and time in the example) or another XML document. It does not indicate that you can access a database directly to retrieve multiple rows and/or columns.
    It's not pretty, but it's possible: http://code.box.sk/newsread.php?newsid=198
    I may have missed something, but all I can see on that site is how to create/amend an XML document with PHP after accessing a MySQL database, and then giving the complete XML document to the XSL stylesheet. It does not appear to demonstrate that you can access a MySQL database using code within an XSL stylesheet.

    It does, however, back up my claim that using XML and XSL to create a web application is 'a good thing'.

    Quote Originally Posted by seratonin
    And here is a way to access a node set from a PHP function: http://slides.bitflux.ch/phpug2004_1/slide_37.html
    You are quite right, it does appear to be possible. Note, however, that this page describes the idea as being positively EVIL!

  4. #254
    SitePoint Evangelist
    Join Date
    Dec 2003
    Location
    Arizona
    Posts
    411
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by Tony Marston
    You are quite right, it does appear to be possible. Note, however, that this page describes the idea as being positively EVIL!
    I agree it is quite EVIL, as it breaks a lot of best practices, but interesting nevertheless...

    JT

  5. #255
    Non-Member
    Join Date
    Oct 2004
    Location
    downtown
    Posts
    145
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Don't make me refactor your architecture!
    You shouldn't have to. Leave it for him to do it himself

  6. #256
    SitePoint Addict
    Join Date
    Oct 2004
    Location
    Sutton, Surrey
    Posts
    259
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by Version0-00e
    Quote Originally Posted by Tony Marston
    As I am supposed to be arrogant then isn't that supposed to be the case?
    Arrogant? Nah, you've just gone way past that in my view. Countless number of people on this forum have explained in any number of ways of how and why you could (and proberly should) implement a better design and development process, for example your class(es).
    Countless people in this forum have given their opinion or theory on how my code can be improved, but nobody has provided any concrete proof.

    Quote Originally Posted by Version0-00e
    87 class methods does not make good OO Programming.
    There are many different opinions as to what makes 'good' OO programming. 'Good' or 'bad' is a matter of personal opinion and difficult to quantify, whereas 'effective', 'ineffective', 'easy to use', 'difficult to use' are less difficult to quantify.

    Quote Originally Posted by Version0-00e
    Anybody who has ever developed with OOP to any extent will tell you that. But you just keep going and totally disregard this, with an unjustifyable comment of it being too complex.
    People give me lots of opinions, but until they are backed up with incontrovertible proof I will treat them as unsubstantiated theories and continue to ignore them.

    Quote Originally Posted by Version0-00e
    You say you have had 20 years in the business? If so then you would already have the experience to know that a class wouldn't have that many methods.
    If you would bother reading my posts or the articles on my website you will see that I have been programming with non-OO languages for over 20 years, but with an OO language (PHP) for only two years. In all the OO tutorials I have read there has never been any mention of any limit to the number of functions within a class.

    If you read my article What is/is not considered to be good OO programming you will see that there are quite a few ideas floating round the OO community that I (and others) consider to be rubbish.

    Quote Originally Posted by Version0-00e
    So what that you have developed any number of infastructures over the years? That doesn't mean that you've implemented best practices, nor took any notice of design and analysis at any level.
    Again the idea of ‘best practice’ means different things to different people. All that I can say is that my infrastructures have outperformed those of my rivals, so in that respect they have been ‘better’.

    Quote Originally Posted by Version0-00e
    But you continue to bang your drum on how cool and great your infastructure is. I personally fear that your approaches give bad advice to younger less experienced developers further down the road.
    Then prove to the rest of us that your methods are ‘better’ by doing what I had the courage to do post a sample application for the rest of us to dissect.

    Quote Originally Posted by Version0-00e
    Did you ever actually give this job a chance to grow on you? In fact can you tell the board just how long you manage to last with this company before 'you' decided that you were 'just' too good for them?
    I left because they could not teach me anything, and they were unwilling to learn from me. I also left because they failed to deliver what they promised at the interview.

    Quote Originally Posted by Version0-00e
    This is the problem at the end of the day, it's your attitude and it sucks.
    Would you prefer a brown noser who’s a crap coder, or someone who’s an ace but arrogant?

  7. #257
    SitePoint Addict
    Join Date
    Oct 2004
    Location
    Sutton, Surrey
    Posts
    259
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by Version0-00e
    Quote Originally Posted by Selkirk
    Don't make me refactor your architecture!
    You shouldn't have to. Leave it for him to do it himself
    I am not going to waste any of my time on refactoring my code until I see more than unsubstantiated opinions that such an exercise would provide tangible benefits commensurate with the effort involved.

  8. #258
    SitePoint Zealot
    Join Date
    Jun 2004
    Location
    Bogota
    Posts
    101
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by Tony Marston
    Would you prefer a brown noser who’s a crap coder, or someone who’s an ace but arrogant?
    So you think you are an ace?
    If I have wings, why am I walking?

  9. #259
    SitePoint Addict
    Join Date
    Oct 2004
    Location
    Sutton, Surrey
    Posts
    259
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by otnemem
    So you think you are an ace?
    I'm not saying that I better than others, just less incompetent

  10. #260
    Non-Member
    Join Date
    Oct 2004
    Location
    downtown
    Posts
    145
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    'Good' or 'bad' is a matter of personal opinion and difficult to quantify, whereas 'effective', 'ineffective', 'easy to use', 'difficult to use' are less difficult to quantify.
    By best practices I mean unit testing/test driven development, developing using design patterns, amongst other industry standard approaches. It's not simple a case of good or bad or personal opinion in todays web development.

    Surely this cannot be difficult to quantify? As for providing concrete proof a lot of people, myself included are bound by contracts and non disclosure agreements so no point following that argument as it's mute basically.

    If you require proof look at WACT for example. Look at Propel as another project that I can thik of at the moment. No doubt there are countless others

    Also I did not look at the link you've posted as I am of the understanding that this would (proberly) consist of your views only? I may be wrong though

    I left because they could not teach me anything, and they were unwilling to learn from me. I also left because they failed to deliver what they promised at the interview.
    Before you attended the interview, did you even bother to research the said company? If you had done so maybe you would have been in a better position to express what you could have brought to the company.

    In doing so the company would have been in a better positoin to offer the job to someone who actually was interested not just in the job but maybe the company as well?

    It's not btw about brown nosing, it's about doing a job your are asked to do and are payed to do without causing too much conflict. If you want an opinion then maybe you should seek a management role in the future?

  11. #261
    SitePoint Guru dagfinn's Avatar
    Join Date
    Jan 2004
    Location
    Oslo, Norway
    Posts
    894
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by Tony Marston
    I am not going to waste any of my time on refactoring my code until I see more than unsubstantiated opinions that such an exercise would provide tangible benefits commensurate with the effort involved.
    The problem is, it's less likely to provide tangible benefits for anyone else than for you. After looking briefly at your code, I think it would take hours of work just to get started refactoring it. I'm not saying it's particularly bad , but it is big and complex. (in fact, it reminds me of some PEAR packages.) You say there's no duplication, I believe there is, but I don't see anything obvious.

    Either you're curious whether refactoring it might help, or you aren't. If you aren't -- and you don't seem to be -- then there's not much point in discussing it further. I say you don't know until you've tried, but nobody pays me to convince you, and I don't cry myself to sleep if I can't. Maybe someone else is angry enough to actually do it.
    Dagfinn Reiersøl
    PHP in Action / Blog / Twitter
    "Making the impossible possible, the possible easy,
    and the easy elegant"
    -- Moshe Feldenkrais

  12. #262
    SitePoint Guru dagfinn's Avatar
    Join Date
    Jan 2004
    Location
    Oslo, Norway
    Posts
    894
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by Tony Marston
    Words! Words! Words! Stop making wild accusations...
    I sympathize with the above....
    Quote Originally Posted by Tony Marston
    ...and spouting wild theories! Give me proof!
    ...but not with this. We will keep "spouting wild theories" because the "wild theories" really have nothing to do with you.

    What's happening is simply what always (nearly always, perhaps) happens when someone who is relatively new in an Internet forum makes strong, bold, categorical statements based on understandings that are not shared by the majority in the forum. I've seen it many times before and done it a couple of times myself. It's almost a sure way to be attacked. I'm not saying it's a good thing, but it is the way the social dynamics of these forums work.
    Dagfinn Reiersøl
    PHP in Action / Blog / Twitter
    "Making the impossible possible, the possible easy,
    and the easy elegant"
    -- Moshe Feldenkrais

  13. #263
    Non-Member
    Join Date
    Oct 2004
    Location
    downtown
    Posts
    145
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Something to look out for maybe?


    Allen Holub's forthcoming book Holub on Patterns: Learning Design Patterns by Looking at Code (Apress, summer 2004) presents another example of using Builder for I/O, but in the context of importing and exporting database tables. In particular, all knowledge of the format used to store the data on the disk is encapsulated in the Builder rather than the database classes. This way the database can export tables to multiple formats, even ones that didn't exist when the classes were written.

  14. #264
    SitePoint Guru
    Join Date
    Nov 2002
    Posts
    841
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by Tony Marston
    AFAIAA there is no duplicate code in any of my classes. I have taken all reusable code and put it into separate functions that can be called from anywhere. That is one of the reasons why there are so any small functions within my classes.
    from option.class.inc:
    PHP Code:
        function getValRep ($item 'option_id'
        
    // get Value/Representation list from this table
        // custom method to obtain table contents as an associative array
        
    {
            
    $array = array();
            
            if (
    strtolower($item) == 'option_id') {
                
    // get data from the database
                
    $this->sql_select     'option_id, option_desc';
                
    $this->sql_orderby    'option_id';
                
    $this->sql_ordery_seq 'asc';
                
    $this->rows_per_page  0// turn off pagination
                
    $data $this->getData(null);
                
                
    // start array with blank entry
                
    $array[' '] = '';
                
                
    // convert each row into 'id=desc' in the output array
                
    foreach ($data as $row => $rowdata) {
                    
    $rowvalues array_values($rowdata);
                    
    $array[$rowvalues[0]] = $rowvalues[1];
                } 
    // foreach
                
                
    return $array;
                
            } 
    // if
            
            
    return $array;
            
        } 
    // getValRep 
    from tree_type.class.php:
    PHP Code:
        function _cm_getValRep ($item ''
        
    // get Value/Representation list as an associative array.
        
    {
            
    $array = array();
            
            if (
    strtolower($item) == 'tree_type_id') {
                
    // get data from the database
                
    $this->sql_select 'tree_type_id, tree_type_desc';
                
    $this->sql_orderby 'tree_type_id';
                
    $this->sql_ordery_seq 'asc';
                
    $this->rows_per_page 0// turn off pagination
                
    $data $this->getData(null);
                
                
    // start array with blank entry
                
    $array[' '] = '';
                
                
    // convert each row into 'id=desc' in the output array
                
    foreach ($data as $row => $rowdata) {
                    
    $rowvalues array_values($rowdata);
                    
    $array[$rowvalues[0]] = $rowvalues[1];
                } 
    // foreach
                
                
    return $array;
                
            } 
    // if
            
            
    return $array;
            
        } 
    // _cm_getValRep 
    from pers_type.class.php:
    PHP Code:
        function getValRep ($item 'pers_type_id'
        
    // get Value/Representation list from this table
        // custom method to obtain table contents as an associative array
        
    {
            
    $array = array();
            
            if (
    strtolower($item) == 'pers_type_id') {
                
    // get data from the database
                
    $this->sql_select     'pers_type_id, pers_type_desc';
                
    $this->sql_orderby    'pers_type_id';
                
    $this->sql_ordery_seq 'asc';
                
    $this->rows_per_page  0// turn off pagination
                
    $data $this->getData(null);
                
                
    // start array with blank entry
                
    $array[' '] = '';
                
                
    // convert each row into 'id=desc' in the output array
                
    foreach ($data as $row => $rowdata) {
                    
    $rowvalues array_values($rowdata);
                    
    $array[$rowvalues[0]] = $rowvalues[1];
                } 
    // foreach
                
                
    return $array;
                
            } 
    // if
            
            
    return $array;
            
        } 
    // getValRep 
    These are obvious examples of duplicate code, my opinionated friend. It took me longer to download the sample than it did to find duplicate code. I found several examples of copy and pasted duplicate code in minutes and i didn't even have to do a search.

    I also have to say you have some brilliant naming.
    PHP Code:
    require_once 'include.inc'
    and helpful comments
    PHP Code:
    // initialise session
    initSession(); 
    PHP Code:
    // if 
    Quote Originally Posted by Tony Marston
    While working for a software house in the mid-1980s
    sounds like the 80s were good to you. What kind of a haircut do you have?

  15. #265
    ********* Victim lastcraft's Avatar
    Join Date
    Apr 2003
    Location
    London
    Posts
    2,423
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    Hi...

    Quote Originally Posted by Selkirk
    Don't make me refactor your architecture!
    Believe me you would rather go skinny dipping in your local sewage treatment plant .

    The really sad/funny part is the "challenge" that claims 10 minutes a "component". To do this you have to create nearly a dozen files by cut and paste (with all sorts of dodgy include chains). A Marston "component" by the way is an update script, a delete script, etc. That's one "component" each by the way! Six of them at a go is recommended.

    These "components" take 60 mins of cut and paste for him. For that you get a few standard controls and your only navigation option appears to be to change the button title (uh? - why bother putting that in the PHP code). Defining a tree structure appears to take 36 files (I cannot be sure what's happening with these as not surprisingly I stopped looking at that point). Encapsulation?

    I really couldn't make head nor tail of what was supposed to be an explantory sample. It protects itself through obscurity.

    Whenever I attempt to correct Mr. Marston's more crass misunderstandings he accuses me of spouting only an opinion as if they were pulled out of thin air. Well this is my opinion of this library in the style of Mr. Marston. I am sure he won't complain if I adopt his own forthright (but never arrogant?) "style". After all you reap what you sow.

    Here goes...

    It's the biggest pile of horse manure I have had the misfortune to come across for some time. To describe 200+K of code as a KISS way of displaying a few tables is jaw dropping. Configuration of each class is by uncommenting in the middle of a class file would you believe. Definitely a write once and I'll never be out of a job piece of "software". I felt I had to go and wash my hands. And also wash the underside of my chin as it spent most of the time resting on my desk. POOP doesn't begin to describe it. It makes PHPNuke look exemplary. I cannot imagine the shame of leaving a mess like this behind for someone to clear up, never mind calling it an "application". To make a small sample application, designed to illustrate the system, into such an entangled mess takes an extraordinary comedy talent.

    ...I feel much better now.

    There, I now feel I am communicating with Mr. Marston on his own terms. Opinion it is. No calling spades shovels or beating about the bush I hope you'll agree. The direct approach. I hope Mr. Marston appreciates it. Maybe he'll even quote me . If not, well no one cares what I think next to Mr. Marston I am sure.

    Now, can we now all go back to the much neglected other treads on this forum and stop wasting our time?

    yours, Marcus
    Marcus Baker
    Testing: SimpleTest, Cgreen, Fakemail
    Other: Phemto dependency injector
    Books: PHP in Action, 97 things

  16. #266
    SitePoint Evangelist
    Join Date
    Dec 2003
    Location
    Arizona
    Posts
    411
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    One more message and this thread beats out the "Patterns Tutorial Series" for most replies...

    JT

  17. #267
    ********* Victim lastcraft's Avatar
    Join Date
    Apr 2003
    Location
    London
    Posts
    2,423
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    Hi.

    Then it has to be this quote from the comments in his own code. From std.add3.inc amongst others...
    PHP Code:
    // Note that there is no dialog with the user. 
    yours, Marcus
    Marcus Baker
    Testing: SimpleTest, Cgreen, Fakemail
    Other: Phemto dependency injector
    Books: PHP in Action, 97 things

  18. #268
    SitePoint Addict
    Join Date
    May 2003
    Location
    Calgary, Alberta, Canada
    Posts
    275
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Tony,

    Here's an excerpt of std.table.class.php. Theres alot of comments but I cant quite figure this code out. Could you explain this?

    It might be another code smell but I havent read any OO tutorials that say code like this is bad practice so Ill just ignore my instincts for now and chalk it up to another arbitrary rule and ignore any problems I think are here.

    PHP Code:
        function _cm_commonValidation ($fieldarray$originaldata
        
    // perform validation that is common to INSERT and UPDATE.
        
    {
            return 
    $fieldarray;
            
        } 
    // _cm_commonValidation
        
        // ****************************************************************************
        
    function _cm_formatData ($fieldarray
        
    // perform custom formatting before values are shown to the user.
        
    {
            return 
    $fieldarray;
            
        } 
    // _cm_formatData
        
        // ****************************************************************************
        
    function _cm_getExtraData($where$fieldarray
        
    // Perform custom processing for the getExtraData method.
        // $where = a string in SQL 'where' format.
        // $fieldarray = the contents of $where as an array.
        
    {
            return 
    $fieldarray;
            
        } 
    // _cm_getExtraData
        
        // ****************************************************************************
        
    function _cm_getForeignData ($fieldarray
        
    // Retrieve data from foreign entities.
        
    {
            
    //if (!empty($fieldarray['node_id']) and empty($fieldarray['node_desc'])) {
            //    // get description for selected node
            //    include_once 'tree_node.class.inc';
            //    $dbobject = new Tree_Node;
            //    $dbobject->sql_select = 'node_id, node_desc';
            //    $foreign_data = $dbobject->getData("node_id='{$fieldarray['node_id']}'"); 
            //    // merge with existing data
            //    $fieldarray = array_merge($fieldarray, $foreign_data[0]);
            //} // if
            
            
    return $fieldarray;
            
        } 
    // _cm_getForeignData
        
        // ****************************************************************************
        
    function _cm_getInitialData ($fieldarray
        
    // Perform custom processing for the getInitialData method.
        // $fieldarray contains data from the initial $where clause.
        
    {
            return 
    $fieldarray;
            
        } 
    // _cm_getInitialData
        
        // ****************************************************************************
        
    function _cm_post_deleteRecord ($fieldarray
        
    // perform custom processing after database record is deleted.
        
    {
            return 
    $fieldarray;
            
        } 
    // _cm_post_deleteRecord
        
        // ****************************************************************************
        
    function _cm_post_getData ($rowdata, &$where
        
    // perform custom processing after database record(s) are retrieved.
        // NOTE: $where is passed BY REFERENCE so that it may be modified.
        
    {
            return 
    $rowdata;
            
        } 
    // _cm_post_getData
        
        // ****************************************************************************
        
    function _cm_post_insertRecord ($fieldarray
        
    // perform custom processing after database record is inserted.
        
    {
            return 
    $fieldarray;
            
        } 
    // _cm_post_insertRecord
        
        // ****************************************************************************
        
    function _cm_post_updateMultiple ($fieldarray
        
    // perform custom processing after multiple database records have been updated.
        
    {
            return 
    $fieldarray;
            
        } 
    // _cm_post_updateMultiple
        
        // ****************************************************************************
        
    function _cm_post_updateRecord ($fieldarray$old_data
        
    // perform custom processing after database record is updated.
        
    {
            return 
    $fieldarray;
            
        } 
    // _cm_post_updateRecord
        
        // ****************************************************************************
        
    function _cm_pre_deleteRecord ($fieldarray
        
    // perform custom processing before database record is deleted.
        
    {
            return 
    $fieldarray;
            
        } 
    // _cm_pre_deleteRecord
        
        // ****************************************************************************
        
    function _cm_pre_getData ($where_str
        
    // perform custom processing before database record(s) are retrieved.
        
    {
            return 
    $where_str;
            
        } 
    // _cm_pre_getData
        
        // ****************************************************************************
        
    function _cm_pre_insertRecord ($fieldarray
        
    // perform custom processing before database record is inserted.
        
    {
            return 
    $fieldarray;
            
        } 
    // _cm_pre_insertRecord
        
        // ****************************************************************************
        
    function _cm_pre_updateLinkdata ($fieldarray, &$postarray
        
    // $fieldarray is an array of field data (multiple rows).
        // $select is an array of entries which have been selected.
        // NOTE: $postarray is passed BY REFERENCE so that it may be modified.
        // NOTE: $fieldarray starts at 0, $select starts at 1.
        
    {
            return 
    $fieldarray;
            
        } 
    // _cm_pre_updateLinkData
        
        // ****************************************************************************
        
    function _cm_pre_updateMultiple ($fieldarray
        
    // perform custom processing before multiple database records are updated.
        
    {
            return 
    $fieldarray;
            
        } 
    // _cm_pre_updateMultiple
        
        // ****************************************************************************
        
    function _cm_pre_updateRecord ($fieldarray
        
    // perform custom processing before a database record is updated.
        // errors are added to $this->errors.
        
    {
            return 
    $fieldarray;
            
        } 
    // _cm_pre_updateRecord
        
        // ****************************************************************************
        
    function _cm_validateDelete ($fieldarray
        
    // verify that the selected record can be deleted.
        // (put any errors in $this->errors)
        
    {
            return;
            
        } 
    // _cm_validateDelete
        
        // ****************************************************************************
        
    function _cm_validateInsert ($fieldarray
        
    // perform custom validation before insert.
        
    {
            return 
    $fieldarray;
            
        } 
    // _cm_validateInsert
        
        // ****************************************************************************
        
    function _cm_validateUpdate ($fieldarray$originaldata
        
    // perform custom validation before update.
        
    {
            return 
    $fieldarray;
            
        } 
    // _cm_validateUpdate 

  19. #269
    SitePoint Guru dagfinn's Avatar
    Join Date
    Jan 2004
    Location
    Oslo, Norway
    Posts
    894
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by lastcraft
    These "components" take 60 mins of cut and paste for him.
    But remember, it was 70 hours with that other "infrastructure" he mentioned.
    Quote Originally Posted by lastcraft
    Now, can we now all go back to the much neglected other treads on this forum and stop wasting our time?
    Tony is the center of his own universe. And he makes himself the center of our universe by stirring up lots of emotion -- but only briefly. But I think that apart from all the "I don't want to hear about it" stuff, there have been many interesting posts in this thread.

    Maybe it would be better to start new threads to discuss the topics that have been raised that are not specific to the discussion for and against Tony's approach.
    Dagfinn Reiersøl
    PHP in Action / Blog / Twitter
    "Making the impossible possible, the possible easy,
    and the easy elegant"
    -- Moshe Feldenkrais

  20. #270
    SitePoint Guru dagfinn's Avatar
    Join Date
    Jan 2004
    Location
    Oslo, Norway
    Posts
    894
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by Tony Marston
    Would you prefer a brown noser who’s a crap coder, or someone who’s an ace but arrogant?
    That is an interesting question, except for the obvious answer, "neither one". I've seen developers who were so sure they could do everything better than everyone else that they spent most of their time re-implementing existing features. From a larger perspective, that's low productivity.
    Dagfinn Reiersøl
    PHP in Action / Blog / Twitter
    "Making the impossible possible, the possible easy,
    and the easy elegant"
    -- Moshe Feldenkrais

  21. #271
    SitePoint Guru dagfinn's Avatar
    Join Date
    Jan 2004
    Location
    Oslo, Norway
    Posts
    894
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by lastcraft
    It's the biggest pile of horse manure I have had the misfortune to come across for some time.
    Maybe Tony deserves this, but I feel it needs perspective. One of the Java "blueprint" DAO examples has 11 lines of duplicated code per method.

    And how would the average PEAR package measure up to your standards of filth? Do we even dare talk about it? It's more important than Tony's example; PEAR is influential almost by definition.

    Have you ever heard the expression "horse apple" for a lump of horse manure? The equivalent in Norwegian is "horse pear" (hestepære).

  22. #272
    SitePoint Guru dagfinn's Avatar
    Join Date
    Jan 2004
    Location
    Oslo, Norway
    Posts
    894
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by seratonin
    One more message and this thread beats out the "Patterns Tutorial Series" for most replies...
    And in only eight days. When we did the "Patterns Tutorials Series", it took much longer. That's because we were thinking.

  23. #273
    SitePoint Member AlexBrina's Avatar
    Join Date
    Jul 2004
    Location
    office.bh.mg.br
    Posts
    23
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    what happened here? What I see is: A guy made a set of code that worked fine for him. It's working for over 20 years, he says. Of course he feels confident: "hey, what a nice structure I've made!!!". Then, he shares his "stuff". What a surprise, everybody is pointing: bad code, bad smell, this, that, manure. Who in the world wouldn't feel sad or angry? He tried to make things simple and good, but he didn't know about lots of best-practices and patterns and theories. He just did his job of building apps and it worked. His mistake was taking the attitude of arrogance, instead of listening the presented ideas. By the other hand, his arrogant attitude raised the anger of everybody(almost). Although there are lots of proofs these guys at SitePoint are really good at coding, they gave a proof that they're no so humble. The politically-correct attitude would be to show their impression without attacking each other. Excuse me by talking in general, I know some guys kept their serenity. No matter winner or looser, I never felt any good feeling by arguing. After this thread, I'm affraid to come here with some idea to ask opinions, maybe they will make a joke about my code, maybe they'll call it manure. I've been learning a lot here, I don't feel I'm able to contribute (yet) in the threads but, be sure I'm always around, reading and taking my conclusions, and learning, thank you all. There are many others like me that only know each other by these nicknames from sitepoint, and be sure these nicknames have their reputation.
    Alex Brina
    "...sempre q eu tirar a cabeça fora d'agua eu dou um alô..." JC

  24. #274
    SitePoint Wizard
    Join Date
    Oct 2001
    Posts
    2,686
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    It seems like some of you didn't read my warning careful enough.
    Closed.


Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •