I think I forgot to mention a lot of features in my CodeSite review, but there's one that just made me so happy. I actually smiled. While coding. I know eh?
Imagine this. I'm persisting some complex structure as XML and writing that to the DB. Writing that big mess out to a plain text log file quickly gets you into that "Drinking from the Firehose" mess. But what if your viewer just showed a quick summary like"Variable = <?xml version .....". Then you click it, and you can inspect that row "zoomed in", using the Inspector.
Here is a sample:
Now, instead of feeling like I'm drinking from the firehose, I feel like the guy who can pick exactly the rows he wants, and find the items inside he needs. You really need to try sending giant blobs of text to CodeSite, as ONE CodeSite.Send, and using the Inspector pane, to realize, hey, there is NO reason to use anything else for logging.
It's that good.
I suggest that you have specialized DIFFERENT sets of IFDEFs and use these giant dumps to codesite, only when you need to use them, like this:
{$ifdef TROUBLESHOOT_PERSISTENCE_XML}
CodeSite.Send( 'LoadSomething', AXMLString );
{$endif}
Delphi 20th Birthday Party Coming Up
Hey folks, did you realize that Delphi is going to be 20 in a few weeks? You know what would be a good idea to celebrate? Find your local Delphi user group or meet-up, and join them for a beverage, at some point in February 2015. I plan to do just that in Toronto.
Imagine this. I'm persisting some complex structure as XML and writing that to the DB. Writing that big mess out to a plain text log file quickly gets you into that "Drinking from the Firehose" mess. But what if your viewer just showed a quick summary like"Variable = <?xml version .....". Then you click it, and you can inspect that row "zoomed in", using the Inspector.
Here is a sample:
Now, instead of feeling like I'm drinking from the firehose, I feel like the guy who can pick exactly the rows he wants, and find the items inside he needs. You really need to try sending giant blobs of text to CodeSite, as ONE CodeSite.Send, and using the Inspector pane, to realize, hey, there is NO reason to use anything else for logging.
It's that good.
I suggest that you have specialized DIFFERENT sets of IFDEFs and use these giant dumps to codesite, only when you need to use them, like this:
{$ifdef TROUBLESHOOT_PERSISTENCE_XML}
CodeSite.Send( 'LoadSomething', AXMLString );
{$endif}
Delphi 20th Birthday Party Coming Up
Hey folks, did you realize that Delphi is going to be 20 in a few weeks? You know what would be a good idea to celebrate? Find your local Delphi user group or meet-up, and join them for a beverage, at some point in February 2015. I plan to do just that in Toronto.