Results 1 to 3 of 3

Thread: Coding & Debugging Workflow

  1. #1
    Join Date
    Mar 2010

    Coding & Debugging Workflow

    I posted this in another thread but it's probably more suited to a thread of it's own in this forum.

    This is just food for thought and a brief summary of my general coding workflow. This applies to both Javascript and PHP

    Code a little and test a lot.

    In my experience many programmers, especially early on, code the whole script from go to whoa without doing any testing along the way and since most times it won't work first time, they then get in a knot trying to work out what is wrong.

    I prefer to code a few lines and then test that code to ensure it works. That way if something goes wrong I am debugging only a small chunk of code and not a whole script.


    When I start a PHP script to process form data one of the first things I do is get the data from the form and store it in variables.

    Before I do anything else I then display the received form data on the screen using echo. If the form data hasn't come across correctly there is no point in proceeding with coding the rest of the php script.

    Then if I have to insert or retrieve any records from a database I write that small block of code and check any inputs or outputs before proceeding because, again, if they are not correct there is no point in contiunung to code the rest of the script.

    So if you continue coding and testing in small chunks you are much more likely to have a properly working script when you get to the end.

    Debugging in small chunks is much easier, imo, than trying to debug a whole script, especially if you are not sure what is causing the error in the first place.

    Anyway, the above is just food for thought

  2. #2
    Join Date
    Jul 2010

    Thank you for your help

    I wanted to thank you for your first response to my request but could not find a way to respond. I just started using this forum and am still trying to navigate it.

    Did you look at my website to see what I have accomplished? The page looks the way I want it presented but as I said earlier the code does not work. I copied this code from another website so I obviously have some background code that did not come with it. I assume I need to reference a clock of somewhere

    Anyway I will try your debugging suggestion.

    My experience is learning creating web pages in two online courses and I am currently enrolled in a Introduction to CSS/XHTML online class through my local community college. The college does not offer an online course in JavaScript. I have no experience with JavaScript expect going through the W3C JavaScript tutorial.

    Peace, Mike

  3. #3
    Join Date
    Mar 2010
    Nowadays or maybe I overlook, there is this thing called Test Driven Development. Basically the idea is you write Test Code BEFORE you write any application code. This is quite a drastic mindset shift from what we are accustomed to in software development isn't it ?

    Example is you define your function interface input and then expected output FIRST. Then can you start building your internal application logic code. This reminds me of Java JUnit testing.

    To be honest, I am still using tirna way of building small portions for test and then incrementally add on more code onwards until the whole application project wide hehehe...

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

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



X vBulletin 4.2.2 Debug Information

  • Page Generation 0.08720 seconds
  • Memory Usage 2,855KB
  • Queries Executed 15 (?)
More Information
Template Usage (32):
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_global_above_footer
  • (1)ad_global_below_navbar
  • (1)ad_global_header1
  • (1)ad_global_header2
  • (1)ad_navbar_below
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (1)ad_thread_first_post_content
  • (1)ad_thread_last_post_content
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)headinclude_bottom
  • (3)memberaction_dropdown
  • (1)navbar
  • (4)navbar_link
  • (1)navbar_moderation
  • (1)navbar_noticebit
  • (1)navbar_tabs
  • (2)option
  • (3)postbit
  • (3)postbit_onlinestatus
  • (3)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available (6):
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files (26):
  • ./showthread.php
  • ./global.php
  • ./includes/class_bootstrap.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/functions_navigation.php
  • ./includes/class_friendly_url.php
  • ./includes/class_hook.php
  • ./includes/class_bootstrap_framework.php
  • ./vb/vb.php
  • ./vb/phrase.php
  • ./includes/functions_facebook.php
  • ./includes/functions_calendar.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_notice.php
  • ./packages/vbattach/attach.php
  • ./vb/types.php
  • ./vb/cache.php
  • ./vb/cache/db.php
  • ./vb/cache/observer/db.php
  • ./vb/cache/observer.php 

Hooks Called (72):
  • init_startup
  • friendlyurl_resolve_class
  • init_startup_session_setup_start
  • database_pre_fetch_array
  • database_post_fetch_array
  • init_startup_session_setup_complete
  • global_bootstrap_init_start
  • global_bootstrap_init_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • load_show_variables
  • load_forum_show_variables
  • global_state_check
  • global_bootstrap_complete
  • global_start
  • style_fetch
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • strip_bbcode
  • friendlyurl_clean_fragment
  • friendlyurl_geturl
  • forumjump
  • cache_templates
  • cache_templates_process
  • template_register_var
  • template_render_output
  • fetch_template_start
  • fetch_template_complete
  • parse_templates
  • fetch_musername
  • notices_check_start
  • notices_noticebit
  • process_templates_complete
  • friendlyurl_redirect_canonical
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • memberaction_dropdown
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • build_navigation_data
  • build_navigation_array
  • check_navigation_permission
  • process_navigation_links_start
  • process_navigation_links_complete
  • set_navigation_menu_element
  • build_navigation_menudata
  • build_navigation_listdata
  • build_navigation_list
  • set_navigation_tab_main
  • set_navigation_tab_fallback
  • navigation_tab_complete
  • fb_like_button
  • showthread_complete
  • page_templates