As-tu peur du noir? Peut-ĂȘtre une apocalypse zombie ou des monstres sous le lit? Nous ne le savons pas. Nous, spĂ©cialistes en informatique, avons nos propres sources d'horreur: les utilisateurs tordus, loin des patrons informatiques, les serveurs en panne, les sauvegardes manquantes ou non effectuĂ©es, le code Ă©tabli et les rallyes agiles, alors qu'en fait, tout le dĂ©veloppement est contrĂŽlĂ© par des cris d '«hier», «le client est en train de lancer» , "Il a critiquĂ© le prod." Ă la veille de l'Halloween, nous avons dĂ©cidĂ© de trouver les pires histoires, d'en raconter quelques-unes et en mĂȘme temps d'entendre la vĂŽtre. Eh bien, ĂȘtes-vous prĂȘt Ă raconter les histoires qui refroidissent l'Ăąme?
Ăchauffement facile Ă la chair de poule
Commençons par une fonction trÚs simple. En théorie, elle devrait vérifier si le nombre est premier.
bool primeCheckUgly(unsigned long long int n){//good luck ...
Eh bien, si le commentaire nous a souhaitĂ© bonne chance, vous ĂȘtes certainement prĂȘt Ă voir une capture d'Ă©cran du code complet de cette fonction. Ătes-vous prĂȘt? Eh bien?
Et que fait l'extrait de code dans la capture d'écran suivante?
Boo!Vérifie si le nombre est impair. Qu'avez-vous pensé?
Histoires effrayantes avec Reddit
Histoire 1
Liste trÚs longue et effrayante - nous avons prévenu! L'utilisateur est venu discuter de la pertinence de ce code ... pour une application métier. Les commentateurs étaient au moins sous le choc et ont trouvé beaucoup de problÚmes:
- menaces de sécurité cauchemardesques, vulnérabilités SQL
- problĂšmes avec le support du code (monolith pour 3,5 mille lignes)
- problÚmes de mise à l'échelle
- terribles astuces, fonctions et organisation du code (l'auteur n'a pas regretté les espaces)
- mauvaise structure et lisibilité du code.
Les lecteurs sĂ©vĂšres ont conseillĂ© de partir tels quels et de tirer une leçon pour les affaires (oui, nous, en tant qu'hĂ©bergeur, savons Ă©galement quel type de clients pauvres proviennent de fournisseurs "gratuits" de charrue). Eh bien, le meilleur commentaire a pointĂ© i: «Si ce nâĂ©tait pas pour lâalcool, la plupart des codes que je vois me tiendraient debout aussi» (Si ce nâĂ©tait pas pour lâalcool, la plupart des codes que jâai vu ne me laisseraient pas dormir non plus).
Histoire 2
Un didacticiel en ligne traite chaque mot comme un élément HTML distinct, il n'est donc pas possible de copier et coller plus de 10 mots par paragraphe. Cependant, à certains endroits, Reddit est presque comme Habr; par conséquent, dans les commentaires, seuls quelques utilisateurs ont commenté l'auteur du code en tant que mu ** ke, les autres ont donné de nombreux conseils sur la façon de contourner cette fonctionnalité et d'obtenir tout le texte de la meilleure façon possible. Si quelqu'un a besoin de méthodes, vous pouvez les
lire dans le fil lui-mĂȘme .
Histoire 3
Ce type a été payé 50 $ l'heure pour un tel code, et il a créé (nagovnokodil) un fichier entier de plus de 3000 lignes.
Le client est à blùmer, a décidé la communauté, car 50 $ est un sou, ce qui signifie que vous ne pouvez compter que sur l'embauche d'un "singe". Certains ont décidé que c'était juste une mauvaise blague et le gars rattrapait sa montre. Eh bien, une analyse détaillée de ce qui ne va pas dans le code
du thread .
Histoire 4
C'est, bien sûr, une histoire à la limite de la science-fiction, mais qui à l'aube d'une belle jeunesse n'a pas fait quelque chose comme ça.
Le gars était trop paresseux pour sélectionner tous les fichiers dans le répertoire et n'a rien trouvé de mieux que d'utiliser l'utilitaire
rm -rf /*
Mais quelque chose, apparemment, a sautĂ© un battement dans son Ăąme et il s'est tournĂ© vers sa station-service, si le bon plan de pensĂ©e a Ă©tĂ© choisi, le gars a reçu une confirmation et ... eh bien, vous comprenez. Les commentaires livrent Ă cent pour cent: "Ă quel point vos larmes sont savoureuses" "cela n'a aucun sens de demander au responsable technique comment supprimer des fichiers sur Linux", "vous ne devez pas avoir beaucoup maĂźtrisĂ© Linux" (nous pensons qu'il y a encore un peu de mal avec Google et le bon sens) , "Ăchec!". Nous pensons que l'histoire ressemble plus Ă un vĂ©lo, mais c'est de lĂ qu'un frisson malheureux est passĂ© dans le dos et j'ai en quelque sorte immĂ©diatement voulu sortir de la racine. Soit dit en passant, il y a
aussi des conseils utiles .
Histoire 5
Un vélo similaire au précédent. Une équipe :-)
sudo rm âfr /
Boo!Mais il n'y a rien de terrible ici.
L'histoire de notre ami de son expérience passée
"2008 année. Notre site a été piraté. C'était un site normal et sécurisé, qui était visité par plus de 5 000 personnes par jour. Et sur la page principale, il y avait un texte avec des erreurs sur le Pentagone et des menaces de nous prendre cent millions (au fait, ce n'était qu'une partie des revenus de l'entreprise). Sat-shniki sur les oreilles, le réalisateur paniqué, STO a lavé la corde, les développeurs ont couru pour Vaseline. Rien. Ils ont fermé le site, suspendu 404, reçu une rafale d'appels. Le lendemain, maman à la Anfisa Tchekhov est venue dans le meilleur jus et a amené un gamin complÚtement torturé de 16 ans dans des verres. Dit: "Voici mon fils, c'est un pirate informatique, emmenez-le au travail." La station-service est sortie de la boucle, a pris la petite par l'épaule et l'a forcée à montrer la petite boule (nous n'avons pas annoncé les détails), ils ont parlé à leur mÚre du Code pénal de la Fédération de Russie, mais ils ont présenté quelque chose au gars. »En général, le facteur humain est la raison pour laquelle chacun de nous peut avoir un Halloween personnel n'importe quel jour ouvrable.
Comment ne pas devenir un héros de telles histoires pour vos collÚgues
Conseils du programmeur
- Commentez le code, surtout si vous ĂȘtes nouveau dans le dĂ©veloppement. Cela vous aidera, vous et vos collĂšgues, ainsi que ceux qui participeront au projet beaucoup plus tard.
- Mieux encore, Ă©crivez un code lisible. Le code n'est rien de plus qu'un langage de communication spĂ©cial pour une Ă©quipe de programmeurs. Un bon code est autosuffisant, gardez cela Ă l'esprit. Laissez mĂȘme ceux qui viennent dans l'Ă©quipe aprĂšs l'avoir compris.
- Appelez les variables et les fonctions unités lexicales normales pour que vous puissiez comprendre ce qu'elles doivent faire.
FsskdQwertZeta
incorrect MoveEmployeeFromList
normal. - Suivez le style de code adoptĂ© par l'entreprise - grĂące Ă cela, le projet sera non seulement comprĂ©hensible, mais aussi sĂ»r: tout dĂ©veloppeur d'Ă©quipe pourra apporter des modifications en cas d'urgence sans perdre de temps Ă dĂ©mĂȘler l'obscurcissement ou un mauvais style.
- Ne perdez pas de déchets dans le code, les modules, les projets. Supprimez les modules inutiles, ne faites pas glisser l'héritage non fonctionnel avec vous, si possible, refactorisez pour lancer des béquilles et faire fondre les vélos à un bon code.
- Testez votre code, vérifiez les scripts du monde réel. Si vous ne testez pas le code, il sera testé par prod :-)
Conseils aux administrateurs systĂšme
- Documentez votre travail pour permettre Ă vos collĂšgues, aux travailleurs postĂ©s et Ă vous-mĂȘme de comprendre plus facilement les scĂ©narios standard.
- Faites des sauvegardes. Faites leur mĂšre, sauvegardes!
- Automatisez votre travail, utilisez des systĂšmes de tickets et des systĂšmes de surveillance.
- Ne travaillez que sur demande - vous pouvez donc prouver que vous travaillez et que vous ne conduisez pas à Dota, et «recharger simplement la base 1C» n'est pas «simple».
- Construire un systÚme de sécurité de l'information dans l'entreprise, prévenir les délits des collÚgues et surtout des «utilisateurs avancés» zélés.
- Connectez-vous, connectez-vous, gardez des registres.
- Avoir un fonds de remplacement de pĂ©riphĂ©riques et de matĂ©riel, gĂ©rer les licences, le budget - ĂȘtre un responsable informatique, et pas seulement un gars "appel".
Ăvidemment, n'est-ce pas? Mais le respect de ces principes simples fermera plus de problĂšmes possibles qui risquent de se transformer en histoires effrayantes sur HabrĂ©, Reddit et d'autres ressources oĂč votre fakap fĂ©roce est prĂȘt Ă discuter.
Amis, aujourd'hui, à Halloween, nous avons soif d'histoires effrayantes et de votre pratique informatique. Qu'est-ce qui a fait transpirer vos paumes, les rendre sombres dans vos yeux et frais à l'intérieur? Pour la meilleure histoire (avec la note de commentaire la plus élevée), nous donnerons des prix. Pour la premiÚre place - un sweat à capuche autographié par
thelevelord ,
créateur de Duke Nukem:
Pour la deuxiÚme place - stock de chaussettes pour toute l'année :)