BoS Shell replacement is designed completely stupid!!



  • When searching for a example of shell-replacement made in VB6, because I wanted to see how some of the things are done, but the one I found didn't help at all. I opened the source-code for BoS and it is completely stupid! (One thing I should say is I didn't run the program, but I can see it is bad design by looking at the source-codes) Here is a list of some of the stupid designs that it has:

    • Be sure that whatever directory you place the .exe and and supporting files in conforms to the DOS 8.3 naming standard. (I still don't know why it has to be that way, does it have something to do with system.ini file?)
    • To add My Computer functionality to BoS, make a folder called "My Computer" in your C drive and add shortcuts to your drives.
    • You can push delete to delete a file on the desktop, and it will ask you to confirm but it will ignore the result and refuse to delete the file no matter what you select
    • It removes ".lnk" from captions of desktop icons but it doesn't seem to add back the ".lnk" extension when dealing with the files (to execute or for any other reason)
    • The path to the desktop and start menu are hard-coded into the program, they are public constants defined in the "modGeneral" module (including comments explaining how to change it), but those constants aren't referenced anywhere else in the program, and changing those values won't have any effect on the program, elsewhere in the program they use their own hard-coded constants, not references to these ones
    • For some reason they decided they needed to add sound effects for everything that Windows already has sound effects for (at least the method used for playing the sounds isn't so bad)
    • When it starts it does "Winsock1.RemotePort = 1001" twice (why? is it because it didn't get set right the first time?) and then "Winsock1.Bind 1001" once
    • In a lot of places in this program, it doesn't use normal textboxes, and instead uses its own style, which accepts only text and enter and backspace (no copy/page, cursor movement, etc), and it is implemented separately in every time it is used, they didn't even create a common module for it. It checks if BlinkOn and adds and removes characters to/from the end of the textbox (actually it is a label, and they didn't even turn off UseMnemonic) depending on that values
    • Each item color of a skin is stored in a separate file, one file for clock foreground color, one file for text foreground color, one file for text background color, etc. They are stored as "Red,Green,Blue" values. Skins also contain images and sounds. The instructions tells you to record the sounds, not copy them from somewhere else or create using a program on your computer. (Are they expecting the pictures to be photographs, possibly of wood?)
    • The setting dialog box isn't designed working well with keyboard, they didn't put any underlined letters or default/cancel property set



  • @zzo38 said:

    When searching for a example of shell-replacement made in VB6
     

    Why the hell would you want a shell replacement written in VB6??

    SSDS should be your first choice anyway.


  • Discourse touched me in a no-no place

    @zzo38 said:

    Be sure that whatever directory you place the .exe and and supporting files in conforms to the DOS 8.3 naming standard. (I still don't know why it has to be that way, does it have something to do with system.ini file?)
    At a guess (I can't be bothered looking at the source) it'll be something to do with some part of it not being able to cope with spaces in filenames, and the author being unaware that 8.3 versions of these names usually exist (even if the filename is less than 8 characters including spaces.)


  • ♿ (Parody)

    @MasterPlanSoftware said:

    @zzo38 said:

    When searching for a example of shell-replacement made in VB6
     

    Why the hell would you want a shell replacement written in VB6??

    SSDS should be your first choice anyway.

     

    I think he's looking for inspiration for his own WTF.



  • Software in VB6 is not designed. Software in VB6 grows. Just as a tumor grows. I've writen and seen my share of VB6 code, and it always turns into a WTF. If you can, dump VB6.

    .NET or Java is way better.



  • @MasterPlanSoftware said:

    SSDSDSSWEMUGABRTLAD should be your first choice anyway.

    Fixed that for you.



  • @shinobu said:

    @MasterPlanSoftware said:

    SSDSDSSWEMUGABRTLAD should be your first choice anyway.

    Fixed that for you.

    Whow, I figured that SSDS was:

    Syracuse Swing Dance Society http://syrswingdance.org/



  • @Daid said:

    Software in VB6 is not designed. Software in VB6 grows. Just as a tumor grows. I've writen and seen my share of VB6 code, and it always turns into a WTF. If you can, dump VB6.

    .NET or Java is way better.

     

    And code written in .Net or Java has tumorous growth even faster if you don't follow a good design.

    The problem isnt' the language, it is the programmer or lack thereof.  If your code turns into a WTF every time then you are the problem. 


Log in to reply