qual é a sua opinião sobre o uso do código de outras pessoas?
<p>conforme <a href="https://softwareengineering.stackexchange.com/questions/6929/how-do-you-decide-what-to-work-on-in-your-own-time">this</a> question: decidi implementar a especificação bittorrent para criar meu próprio cliente/rastreador.</p><p>agora, eu estava analisando as especificações, concluí cerca de 70% a implementação do bencoding quando encontrei um link para uma implementação do bencoding em c # escrita por outra pessoa.</p><p>normalmente, se eu estivesse trabalhando no código de produção, eu o usaria como uma referência para verificar meu próprio trabalho e como uma linha de base para escrever alguns testes para executar meu código, mas me vi pensando "estou fazendo isso, é um projeto divertido, sem prazos; eu realmente deveria implementá-lo - eu poderia aprender muito ", mas uma voz na minha cabeça estava dizendo:" por que se preocupar em reinventar a roda? pegue o código, trabalhe para que seja você sua convenção de estilo/nomeação e pronto. "</p><p>então, eu estou um pouco em conflito. acabei fazendo o último, e algumas partes achei melhor do que o que havia escrito, mas quase sinto que 'traí'.</p><p>qual é a sua opinião? está me traindo? perfeitamente normal? uma oportunidade perdida de aprender sozinho? uma boa oportunidade para aprender com o exemplo de outra pessoa?</p>
<blockquote> <p>se eu tenho visto mais, é por estar sobre os ombros dos gigantes.</p> <p>isaac newton</p> </blockquote><p>não é trapaça se o código for de código aberto e você tiver tempo para entendê-lo. agora, obviamente, isso nem sempre é possível devido a restrições de tempo, mas tente e sempre tenha uma visão geral de alto nível do código que você está usando. lembre-se sempre de que c foi derivado de b.</p>
<p>olá valdiney, é para você fazer uma variação de código.</p>
<p>usar sua curiosidade e criatividade, variar, não se prender só ao que foi pedido, tipo:</p>
<p></p>fazendo diferente:
<strong> teste 1 </strong>
<strong> teste 2 </strong>
<strong> teste 3 </strong>
<p></p>
<p></p> <p>tudo em ordem também, vamos lá:</p>
<ul><li>impactos:</li></ul>
<p>em alguns projetos pode haver uma grande necessidade de refatoração e configuração, pois, isso vai mudar a maneira como as importação e carregamentos estão sendo feitos.</p>
<ul><li>benefícios:</li></ul>
<p>separar os códigos em pequenas partes ai garantir uma maior performance do projeto, irá consumir menos banda de internet do usuário, trafegar menos informações na rede.</p>
<ul><li>tradeoff:</li></ul>
<p>mas, nem tudo são flores, em alguns momentos pode ser que não seja aconselhável essa separação.</p>
<p>uma vez que a gente baixou tudo, a aplicação irá funcionar normalmente, a mudança de telas acontecerá mais rápido.</p>
<p>quando separados em pequenos pedaços, o primeiro carregamento será mais rápido, mas, as mudanças de telas irão ter a necessidade de baixar os arquivos correspondentes para aquele novo pedaço, sendo assim, será necessário adicionar loaders ou algum indicador visual para o usuário.</p>
<p>as vezes pode trazer uma complexidade maior para o projeto também.</p>
<p>cabe a vocês (time) definir se faz sentido ou não e onde faz sentido ou não faz.</p>
<ul><li>mostrar resultados:</li></ul>
<p>infelizmente não posso, são projetos internos do meu trabalho e não posso mostrar.</p>
<p>mas já pegamos páginas de 13mb de <em>download</em> e baixamos para 3mb, por exemplo.</p>
<p>espero ter ajudado.</p> concordo em grande parte com você. realmente existem muitas opiniões, reviews de distros e claro, são apenas opiniões pessoais, assim mesmo como existem aqui no diolinux. é algo muito pessoal e só saberá se é bom ou ruim a pessoa que usar! as pessoas já vem com um preconceito enraizado, pois “ouviu … <p>olá rayanne, tudo bom?
o ideal que você tenha o costume de salvar a cada momento de código que você termina de fazer.
salvar e debugar.
o vscoder ele tem a opção de salvar automaticamente( mas eu recomendo você criar o habito).</p> isto não é algo que outra pessoa possa responder por você. minhas sugestões podem não se adequar às suas necessidades, hardware e etc. eu, particularmente, avalio alguns pontos ao escolher um sistema operacional:

necessidades (jogar, estudar, trabalhar, etc)

meu hardware

às vezes gosto de avaliar … robson, imagine que você fez uma aplicação onde precisa comparar se uma pessoa é maior de idade ou não.há milhares de linhas de código na aplicação e durante todo o teu programa foi usado o número má... <p>dono do produto, mas sempre com colaboração de todo o time. seria irresponsabilidade utilizar uma estimativa única, pessoal, sem sequer fazer uma comparação com outros pares daquele cronograma - principalmente o time de desenvolvimento.</p> olá, luis. tudo bom?não consegui entender muito bem sua pergunta. como seria a abertura deste outro código?aqui na devmedia, possuímos um artigo que estarei deixando abaixo, sobre trabalhar com exc... <p>não existem "regras", apenas "diretrizes".</p><p>com isso, quero dizer que, em teoria, não há nada que o impeça de projetar qualquer interface que você queira, no entanto, existem vários fatores que podem impedir que você atinja seu objetivo.</p><ol> <li> <p>navegadores funcionam de uma certa maneira. o html pode apenas sugerir um layout para a página; portanto, embora você tenha um ótimo design que funcione no papel, ele poderá falhar em alguns navegadores com algumas resoluções de tela.</p> </li> <li> <p>os usuários esperam que certos elementos estejam em determinados locais. isso nem sempre é uma expectativa consciente, mas criada a partir da exposição a outros aplicativos, etc. se o seu design for muito diferente, eles podem não "entender" e achar seu aplicativo difícil, se não impossível, de usar.</p> </li> </ol> <p>a resposta mais simples para sua pergunta é que os campos da ciência da computação e do desenvolvimento de software são muito novos e pouco compreendidos. embora todas as disciplinas científicas e de engenharia estejam avançando mais rapidamente nos tempos modernos, outros campos têm muito mais experiência para aproveitar e há uma compreensão compartilhada muito mais ampla de como elas funcionam.</p><p>por exemplo, apesar dos recentes avanços na ciência dos materiais, os engenheiros civis sabem há cerca de 2000 anos como construir um arco que não cairá, e isso é algo que pode ser ensinado e aprendido na universidade com relativamente pouca controvérsia. embora eu concorde totalmente com você sobre as técnicas que os desenvolvedores de software devem aprender, esse contrato é baseado na experiência pessoal e no raciocínio informal. para ser uma "melhor prática" aceita socialmente, precisamos de dados quantitativos que podem ser muito caros para reunir: quanto o controle de versão ajuda? como isso ajuda? teste de unidade? podemos argumentar sobre a eficácia de várias técnicas, mas na verdade provar que a eficácia seria muito cara. precisávamos executar um projeto de software completo e realista do começo ao fim, inúmeras vezes, com grupos de programadores com experiência equivalente, usando técnicas diferentes. no mínimo, precisaríamos de muitos dados sobre projetos existentes que esses projetos não estariam dispostos a liberar.</p><p>os engenheiros civis têm milhares de anos de pontes para examinar, com muitas informações. os desenvolvedores de software, por outro lado, têm apenas algumas décadas de informações, a maioria das quais é mantida em segredo, uma vez que há pouca motivação para as organizações coletarem e publicarem informações sobre a eficácia de seus desenvolvedores, mesmo que estejam coletando (o que geralmente não é necessário). 't).</p><p>há também alguma confusão de campos. desenvolvimento de software, ou "engenharia" de software, é realmente uma coisa diferente da ciência da computação. os desenvolvedores de software precisam de um conhecimento prático da ciência da computação, mas trabalhar nos limites da complexidade algorítmica ou raciocinar sobre paralelismo não é algo que um programador que trabalha faz todos os dias; da mesma forma, um verdadeiro "cientista da computação" escreverá um monte de código descartável que simplesmente não funciona ou não faz nada de interessante e não se beneficiará tanto do tipo de rigor que um produto de software real faria.</p><p>o surgimento da internet e da comunidade de código aberto pode fornecer dados suficientes para começar a responder a essas perguntas de maneira conclusiva, mas mesmo que as respostas estejam disponíveis amanhã, provavelmente levará 100 anos para que permeiem a sociedade internacional a ponto de todos concordarem com o que deve ser ensinado nas escolas.</p><p>finalmente, existem algumas considerações econômicas. faz um tempo relativamente curto, já que quase todos os envolvidos no desenvolvimento de software tiveram acesso fácil e barato a máquinas dedicadas para executar as ferramentas de desenvolvimento que desejarem. algumas décadas atrás, dedicar completamente uma máquina apenas para executar seus testes ou até abrigar uma história infinita de código-fonte teria parecido frivolamente caro para muitas pessoas.</p>