Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal!
Eu tive que atualizar o outro tópico, não havia como deixá-lo da maneira que estava então achei melhor criar outro.
Eu atualizei a DLL de funções (Chamada de Lotus) que ando trabalhando para VB, ainda não tive tempo para transpor esta DLL para C#, mas acredito que logo teremos um resultado.
Para quem não sabe o que significa isto, aqui vai uma explicação:
>
Este é o projeto Lotus, ele é basicamente uma DLL comum do VB ou C# que contem algumas funções simples (Um API) mas que são bem uteis, como por exemplo, efeitos de Fade e testes de teclas, porque todo mundo esta cansado de digitar toda vez aquele teste chato quando quer que o TextBox só permita números ou só letras não é mesmo?
Então tomei a iniciativa fazer essa Class Library onde estarei colocando essas funções. Até o momento ela contem pouco conteúdo e é por isso que eu preciso das sugestões de vocês. Gostaria de pedir ideias de funções para colocar nesta biblioteca, quem puder dar alem da ideia, o código pronto também será muito legal, lembrando que cada função que não for feita por mim terá seus devidos créditos nas descrições.
A Biblioteca foi dividida em diversas classes menores, cada uma com um assunto específico a tratar, por exemplo: Temos a Classe DataLink, que é responsável pelo tratamento de funções de Bancos de Dados.
Até agora a biblioteca está organizada da seguinte maneira:
Namespace Lotus.Util: Responsável por abrigar funções genéricas.
/applications/core/interface/imageproxy/imageproxy.php?img=https://dl.dropbox.com/u/6950105/Lotus/Util.jpg&key=865455c17798b1a666e722fd8a67f5c8256a92ce6f141b9212167c3e9ee5f199" alt="Util.jpg" />
Namespace Lotus.OS: Responsável por funções que utilizam o sistema (manipulação de arquivos e etc)
/applications/core/interface/imageproxy/imageproxy.php?img=https://dl.dropbox.com/u/6950105/Lotus/OS.jpg&key=ab52c064f3077c11a56433fcfebc7ed8d8ef542fe64aca0c367ccd1cdc534618" alt="OS.jpg" />
Namespace Lotus.Vox: Responsável pela gravação e reprodução de áudio.
/applications/core/interface/imageproxy/imageproxy.php?img=https://dl.dropbox.com/u/6950105/Lotus/Vox.jpg&key=0bf02df0708dfe8bf82ce1f0902531a9764f92c767c7bac2547ff80479a3bd17" alt="Vox.jpg" />
Namespace Lotus.WComponents: Responsável pelas funções que referentes à objetos da classe Windows.Forms.
/applications/core/interface/imageproxy/imageproxy.php?img=https://dl.dropbox.com/u/6950105/Lotus/WComponnents.jpg&key=d4db55990b95578d4f4dd6617049d6f2f7fad39694e0ab5ef3c8aadb4a5baa50" alt="WComponnents.jpg" />
Namespace Lotus.Network: Responsável por funções referentes a ambientes de Rede.
/applications/core/interface/imageproxy/imageproxy.php?img=https://dl.dropbox.com/u/6950105/Lotus/Network.jpg&key=1688d6b8612844741dbcd31cf9f33355f5609436bb95085a765c8947811049c6" alt="Network.jpg" />
Namespace Lotus.Net: Responsável pelo envio de Emails utilizando o Windows.Net.Mail (Ainda em construção).
/applications/core/interface/imageproxy/imageproxy.php?img=https://dl.dropbox.com/u/6950105/Lotus/Net.jpg&key=676027006559f4ad5f8858f32d15b870ef0892c2913542ce20b393f64b8ffe62" alt="Net.jpg" />
Namespace Lotus.DataLink: Responsável por funções referentes a bancos de dados de diversos tipos.
/applications/core/interface/imageproxy/imageproxy.php?img=https://dl.dropbox.com/u/6950105/Lotus/Datalink.jpg&key=b4d53757126c8f8be140ce340e9bbbc506d7802f7391ab7e607ba95f977f460b" alt="Datalink.jpg" />
Gostaria de pedir a vocês mais ideias e sugestões, quem puder colocar já o código pronto da função, ou quem quiser já montar totalmente ao invés de dar uma ideia aqui vai algumas dicas:
Bom, esta é minha ideia, estou pedindo a vocês mais funções para que possamos completar essa biblioteca juntos e distribuí-la pelo fórum ou fora dele para quem sentir necessidade e quiser usá-la!
Futuramente pretendo liberar no SourceForge para quem tiver interesse de trabalhar no projeto juntamente comigo e outras pessoas, para assim fazermos um pequeno Framework de utilidades.
Quem estiver interessado em testá-la e provar se há ou não há bugs sinta-se livre para ir em: http://www.lotusframework.blogspot.com a página de downloads contem a versão mais atualizada até agora, e estarei lançando updates para ela periodicamente.
Qualquer duvida ou sugestão podem enviar um email para: khaosdoctor@hotmail.com
Obrigado /applications/core/interface/imageproxy/imageproxy.php?img=http://forum.imasters.com.br/public/style_emoticons/default/wink.gif&key=0566fd943552bcff9cb1b879403ca34b5ff8f67befaac7fe4648006e9f764689" alt="wink.gif" />
Obrigado pela ajuda Bruno /applications/core/interface/imageproxy/imageproxy.php?img=http://forum.imasters.com.br/public/style_emoticons/default/smile.gif&key=15294d64c22e9e9c4ae0bf82a62ec27d13f27d6ba7078a5f7982077798029364" alt="smile.gif" />
Vou responder aqui todas as suas dicas, inclusive algumas delas eu já até fiz hehehe
- Eu não deveria estar opininando sobre isso pois eu ainda "sofro" também é quanto a definir Lotus.Util pois, direta ou indiretamente, caracteriza todo o restante como inútil.
Pois é, eu cheguei no mesmo impasse, se eu chamasse ela de Core, eu estaria falando que este era o nucleo da classe, de lá que viriam todos, o que não é verdade, A DLL é modular, inclusive pode ser baixada em pedaços. Daí pensei em chamar de Lotus.Lotus, mas achei um pouco redundante, e depois de não saber mais de nenhum nome eu coloquei apenas como Util, porém como abreviação de Utilidades ou Utilities, porque a classe toda vem escrita em inglês, e como a biblioteca java.util esta também se encaixa com utilidades.
- Lotus.OS.FolderSystem representa algo mais intimamente ligado ao sistema de arquivos do que ao sistema operacional em si, então acho que Lotus.OS.FileSystem.Folder, ficaria melhor.
Então, neste quesito eu também pensei em chamar o namespace de Lotus.Files.Folder, mas ai o outro ficaria Lotus.Files.Files e fica um pouco estranho, eu vim com a nomenclatura de OS para poder da a entender que o que ele está ou estará tratando nestas namespaces é referente ao computador do usuário ou do cliente, ou seja, não é fora do seu próprio OS.
- Lotus.Vox, apesar de ter sido um nome bem maneiro, pode vir a te limitar caso o módulo passe a suportar gravações/execuções de vídeo também. Então eu sugeriria uma subdivisão, talvez, Media
Sim, o primeiro nome da classe Voice era Media, mas como só tinha Voz eu pensei em nomeá-la desta maneira, ter apenas o namespace Vox eu também não achei legal, porque se for tratar de vídeos então ele deveria mudar para Videos, eu não atualizei o classmap ainda, porém eu já renomeei o namespace para Lotus.Media que contem a classe Vox e a classe Video.
E num geral, a padronização da nomenclatura é algo quase que primordial. Nesse camelcase, ou a primeira letra é sempre minúscula ou é sempre maiúsucula.
Sim, neste quesito tudo está padrão, todos os métodos tem a primeira letra maiuscula e a letra que viria depois do espaço também maiúscula, e.g: "Execute Non Query" -> "ExecuteNonQuery"
Mas e os "isSomething"? Continuam com a iniciais minúsculas.
Ai meio que segue o padrão do Windows né, quando tem o is ou are ele é minusculo.
Saquei :thumbsup:
Como não lembro muito de VB, eu opinaria sobre três coisas:
Eu estou mudando isso aos poucos para comigo pois vejo um recurso útil à mais de um cenário, como sendo útil à um tipo de dado. Não sei como funciona no VB quanto à tipagem, mas veja o módulo Math por exemplo. A grande maioria das operações matemáticas são úteis à números.
Apesar de a nomenclatura Core não ser a melhor de todas, seria algo tão... intrínseco às bases do projeto que caberia. E no caso desse módulo, algo como Core.Types.Number com todas as operações matemáticas.
E num geral, a padronização da nomenclatura é algo quase que primordial. Nesse camelcase, ou a primeira letra é sempre minúscula ou é sempre maiúsucula.