Não tenho certeza de que este é o site de troca de pilhas certo, mas aqui vai ...
Escopo
Eu trabalho para uma pequena empresa que emprega algumas centenas de pessoas. A equipe de desenvolvimento da empresa é pequena e trabalha com visual foxpro. Um departamento específico da empresa me contratou como 'atirador solitário' para consertar e aprimorar um sistema de faturamento pré-existente. Peguei com êxito um aplicativo do Access que apresentava muitos riscos e limitações e o converti em um aplicativo C # direcionado a partir de um servidor SQL.
Eu obtive recentemente minha graduação e não sou especialista, de forma alguma. Para ajudar a compensar isso, senti que ganhar certificações da Microsoft me forçará a entender mais sobre o .net e como ele funciona.
Então, depois de notificar com 9 meses de antecedência, três meses atrás, um substituto finalmente apareceu. O papel deles é aprender o que eu tenho projetado para tentar suportar os aplicativos projetados em C # .
A substituição
Recém saído da faculdade, sem experiência de trabalho no mundo real, o primeiro instinto para qualquer coisa que envolvesse dados foi e ainda é caixas de listagem ... sempre que os dados são mencionados, a caixa de listagem é o controle de escolha para a substituição. Isso chegou ao ponto, não importa quantas vezes eu discuta outros controles, onde eu vi cinco caixas de listagem em um único formulário. A experiência em sala de aula foi quase todo o desenvolvimento de console C ++.
Portanto, um exemplo de meu interesse é em um aplicativo winforms: Os usuários precisam digitar Razões em uma tabela para selecionar mais tarde. Dado que sei que existe um conjunto de dados fortemente tipado, basta arrastar a fonte de dados da caixa de ferramentas e isso criaria tudo isso para mim. Sei que este é um exemplo simples, mas usar a ligação de dados é a chave.
Nos últimos meses, falamos sobre o conjunto de dados fortemente tipado, como usá-lo e onde ele interage com outros controles. Conjuntos de dados, como eles funcionam em relação a fontes de ligação, adaptadores e visualizações de grade de dados. Depois de entregar este projeto, eu esperava perguntas sobre como implementá-las, pois para mim essa é a maneira de fazê-lo. O que aconteceu a seguir simplesmente me surpreende:
Uma instância de um adaptador do conjunto de dados fortemente tipado foi criada no evento de ativação do formulário, uma tabela foi criada e preenchida com dados. Em seguida, foi feito um loop para adicionar linhas manualmente a uma caixa de listagem dessa tabela. Por fim, uma variável foi mantida para fazer pesquisas para descobrir qual ID o registro era para atualizações, se necessário.
Como eles modificam os registros que você pergunta? Essa foi minha primeira pergunta também. Você não vai acreditar como é simples, basta clicar duas vezes e digitar em um prompt pop-up o novo valor para alterá-lo. Como operador de entrada de dados, todos os pop-ups modais me deixariam absolutamente louco. A solução final excede 100 linhas de código que devem ser mantidas.
Então, minha preocupação é que nada disso esteja afundando ... o departamento só é permitido 20 horas por semana do seu tempo. Até a semana passada, recebíamos apenas 4-5 horas por semana, se eu tiver sorte. Na semana passada, mais ou menos, tive a sorte de conseguir 10.
Questão
O QUE EU FAÇO?!
Ainda tenho 4 semanas para sair e eles 'suportam' completamente este aplicativo. Adoro esse trabalho e a oportunidade que me deu, mas é hora de abrir minhas asas e encontrar algo novo. Não estou de forma alguma convencido de que eles estão prontos para assumir o controle.
Eu sinto que a substituição tem a capacidade técnica de 'descobrir', mas em vez de aprender, eles apenas escrevem código para fazer tudo isso manualmente. Se a substituição quiser codificar de forma diferente no final, contanto que funcione, eu estou bem com isso, por mais horripilante que pareça. No entanto, para apoiar o que eu projetei, eles DEVEM entender como funciona e como eu usei os controles e a estrutura para fazer a mágica acontecer.
Este projeto possui cerca de 40 formulários, um banco de dados com mais de 30 tabelas ímpares, gatilhos e procedimentos armazenados. Relaciona trabalho a faturas, contratos a projeções ... não é tão simples como era há três anos atrás, quando iniciei este projeto, e o departamento agora está em uma posição em que eles não podem sobreviver sem ele.
Como no mundo posso realizar uma das seguintes ações:
- Aplicar padrões ou entendimento no design de constantes quando o gerente do departamento continuar dizendo que eles podem fazer isso da maneira que desejarem
- Encontre uma maneira de envolver a substituição no aprendizado ativo da estrutura e do design do sistema que deve ser fornecido suporte para
- Graciosamente informar sr. gerenciamento que de 5 a 9 horas por semana simplesmente não é tempo suficiente para aprender sobre o departamento, processos preexistentes, aplicativos que precisam ser suportados E determinar para onde vão as melhorias em potencial do sistema ...
Sim, eu sei que isso é uma parede de texto, obrigado pela leitura, mas simplesmente não sei o que devo fazer. Para mim, este trabalho é um monstro de referência e as coisas ficariam extremamente ruins se eu fosse embora e as coisas desmoronassem. Como eu manejo isso?