On my way to work this morning I thought about some code I used yesterday for object serialization and object deserialization, and I must admit that I got the code through a Google search, and that I did not really take much time to understand what the code is doing. So in a way, if asked to reproduce the code, I would not be able. I say in a way, because maybe I could reproduce it (but only if I understood it). Serializing objects means taking an instance of an object and transforming it into a format such as XML or JSON. Once the object has been serialized you can deserialize it again and have an instance of a class available. So in essence the XML representation is an object that has been instantiated. It seems I do understand the concept at least, but the implementation is a bit more tricky.
My point though is that some percentage of code that I use comes from code searched for on Google. Are we really developers then if we just regurgitate other people’s code? The other day I also used an IMAP class library to check an IMAP email account, specifically GMail. I just tweaked the code a bit here and there. The fact that I am just using the library does not mean that I understand where IMAP fits into the Internet Protocol Suite, because POP also forms a part of it, and items such as TCP/IP. It also doesn’t mean I understand that HTTP is a stateless protocol! Or maybe it does I’m not sure.
I often find myself going to MSDN and referencing some piece of code, because I do not know it. For instance I find myself checking out implementations for things like the StreamReader/Writer class or how to implement IEnumerable for a class. Do you ever find yourself doing this?
Place your comment