Nombre de lignes de code dans une vie
L'une des sociétés de son futur employé pour donner le nombre de lignes de code écrites dans le temps de la vie dans un certain langage de programmation comme Java ou C#. Depuis, la plupart d'entre nous ont un certain nombre d'années d'expérience dans différents projets en plusieurs langues et nous avons peine à garder une trace de ce, quelle serait la meilleure approche pour calculer cette métrique. Je suis sûr que le smart membres de stackoverlow.com aurez quelques idées.
C'est une entreprise très respectée dans son domaine et je suis sûr qu'ils ont une très bonne raison de poser cette question. Mais ce qui le rend aussi difficile la réponse est le type de code à considérer. Dois-je inclure uniquement le difficile algorithme que j'ai mis en œuvre ou tout autre code que j'ai écrit, par exemple, un POJO qui avait de 300 propriétés et dont les getters/setters ont été générés à l'aide de l'Ide!
source d'informationauteur Prabin Paudel
Vous devez vous connecter pour publier un commentaire.
Cela semble être l'une de ces questions comme " Combien de balles de ping-pong pourriez-vous tenir dans un Boeing 747?' Dans ce cas, l'interlocuteur veut vous voir de démontrer vos compétences de résolution de problèmes plus que de savoir combien de lignes de code que vous avez écrit. Je serais prudent de ne pas répondre avec toute la critique de la question, et honnêtement au lieu d'essayer de résoudre le problème ; )
La meilleure réponse à cette question est l'une des opérations suivantes:
Je remettrait sérieusement en question les motivations de personne de poser une telle question soit d'actuels ou futurs employés. C'est très probablement le même type de société qui permettrait de commencer à faire des revues de code en se concentrant sur le nombre de lignes de code que vous tapez.
Maintenant, si ils font valoir que le nombre de lignes de code est une mesure de l'expérience d'un programmeur, je n'hésiterais pas à quitter l'interview à ce point.
Simple possible de trouver des solutions à des problèmes complexes, et sont généralement mieux que il suffit de jeter assez de lignes de code sur le problème et il va s'occuper lui-même. Étant donné que le nombre de bugs produit évolue de façon linéaire, et le nombre de déclarations, je dirais que l'inverse est sans doute mieux, combiné avec le nombre de problèmes qu'ils ont abordés.
Comme un test de réponse, je voudrais demander ceci:
Maintenant, si vous encore souhaitez estimer le nombre de lignes, je voudrais simplement commencer à réfléchir sur les projets de la personne qui l'a écrit, et de comparer leur taille avec une quantité connue. Par exemple, j'ai une bibliothèque de classes qui varie actuellement environ 130K lignes de code, et j'ai écrit des choses similaires en Delphi et en d'autres langues, en plus de certains notables des projets d'application, donc je dirais que j'ai un bon de 10 millions de lignes de code sur mon propre au moins. Est le nombre significatif? Pas le moins du monde.
Prendre un coup d'oeil à ohloh. Le site affiche les métriques de projets open source.
Le site estime que 107,187 lignes de code correspond à un effort de 27 Années-personnes (4000 lignes de code par an).
Un exemple de la bêtise d'une telle métrique est que le nombre est à partir d'un projet que j'ai joué avec l'extérieur du travail pendant 2 ans.
Sons comme c'est D E la Shaw questionnaire?
Il y a essentiellement trois façons de composer avec les demandes ridicules pour le sens des mesures.
Refuser de répondre, mettant en cause l'interlocuteur pour leurs raisons, et expliquer pourquoi ces raisons sont stupides.
Passer du temps la collecte de toutes les informations que vous pouvez, et le calcul de la réponse pour le meilleur de votre capacité.
Faire une réponse plausible, et aller de l'avant avec aussi peu d'implication émotionnelle possible dans la bêtise que possible.
Les premières réponses semblent être la prise de la première ligne. Réfléchissez si vous voulez continuer le travail malgré la stupidité de leurs revendications. Si la réponse est encore Oui, éviter de numéro 1.
La deuxième méthode consiste à examiner votre vieux dépôts de code à partir de vieux projets.
Dans ce cas, j'irais avec la troisième voie.
Multiplier le nombre des années, vous avez travaillé sur une langue de 200 jours de travail par an, de 20 lignes de code par jour, puis l'utiliser.
Si vous demandez plus d'une langue par an, à répartir entre eux.
Si vous avez travaillé davantage sur l'analyse, la conception ou la gestion, de la baisse de la figure de trois quarts.
Si vous avez travaillé dans une grande cérémonie de l'environnement (la défense, de la médecine), baisse de la figure par un ordre de grandeur.
Si vous avez travaillé sur un environnement particulièrement faible cérémonie, d'augmenter d'un ordre de grandeur.
Puis mettre la bêtise derrière vous et de passer avec votre vie aussi rapidement que possible
En fonction de ce qu'ils font avec la réponse, je ne pense pas que c'est une mauvaise question. Par exemple, si un candidat met JavaScript sur leur curriculum vitae, je veux savoir combien JavaScript ont-ils écrit. Je peut demander, par exemple, pour le nombre de lignes dans le plus grand projet JavaScript qu'ils ont écrit. Mais je suis seulement à la recherche d'un sens de l'échelle, pas un nombre réel. Est-il 10, 100, 1000 ou 10 000 lignes?
Quand je demande, je vais faire très clairement que je suis juste à la recherche pour un nombre brut pour mesurer la taille du projet. J'espère que l'employeur dans le questionneur est après le même.
C'est une métrique intéressante à poser pour l'examen, vous pouvez écrire beaucoup de lignes de code très mauvais, au lieu d'écrire juste un peu plus intelligents.
Je peux seulement supposer qu'ils envisagent de plus de lignes pour être mieux que moins. Serait-il préférable de ne pas planifier à tous et juste de commencer à écrire du code, ce serait une excellente façon d'écrire des lignes de code plus depuis au moins si je fais ce que je finissent généralement par écrit, tout au moins à deux reprises.
Intelligent de pile overflowers généralement éviter d'organisation que poser ce genre de question. À moins que la bonne réponse est "hein, wtf??"
Pourquoi la peine de calcul de cette métrique sans une bonne raison? Et certains aléatoire entreprise demandant la métrique vraiment n'est pas une bonne raison.
Si la société en question est en fait de graves, et vous pensez que l'entretien peut conduire à quelque chose d'intéressant, alors je voudrais juste choisir un nombre au hasard afin de voir où cela mène 🙂
Ha, me rappelle quand je l'ai pris sur un C basé sur un framework de test, qui a commencé comme 20K+
les lignes que j'ai fini par s'effondrer en 1K LOC par l'affacturage vers le bas à une sous-routine au lieu
de l'20K lignes de diarrhée code écrit à l'origine par l'auteur original. Malheureusement,
J'ai reçu une fessée plus difficile pour d'éventuelles erreurs dans le code que mon KLOC écrit allé
négatif... j'aurais penser à long et dur sur le rétrécissement de la base de code en mesure d'organisation axée sur la....
Si vous étiez vraiment honnête, alors vous dirais que vous ne savez pas parce que vous n'avez jamais considéré comme valide métrique. Si l'intervieweur est raisonnable/rationnel personne, alors c'est la réponse qu'ils cherchent.
La seule autre option pour dire que vous ne savez pas, c'est à deviner, et ce n'est pas vraiment démontrant les compétences de résolution de problèmes.
Même si je suis d'accord avec la majorité pour dire que ce n'est pas une très bonne mesure, si c'est un grave compmany, comme vous le dites, ils peuvent avoir leurs raisons pour demander c'est.. c'est ce que je pourrais probablement le faire:
Prendre l'un de vos projet, obtenir le nombre de lignes et de le diviser par le temps qu'il vous a fallu pour le code. Cela vous donnera une sorte de lignes par heure métrique. Ensuite, essayez d'estimer combien de temps vous avez travaillé avec une langue spécifique et de le multiplier avec votre déjà calculée. Honnêtement, je ne pense pas que c'est un excellent moyen.. mais honnête, ce n'est pas une grande question ni.. je voudrais également dire à l'entreprise la stratégie que j'ai utilisée pour arriver à ce nombre.. peut-être, PEUT-être, c'est ce qu'ils veulent.. pour connaître votre opinion sur cette question et comment vous pouvez vous répondu? :p
Ou, ils veulent juste savoir si vous avez quelques expériences.. alors, devinez un nombre impressionnant et de l'écrire 😀
Et je suis très sûr que ils ne le font pas, parce que "respecté" ne signifie pas "ils font tout droit", parce que ce n'est certainement pas droit, ou si elle l'est, c'est au moins stupide à mon avis.
Ce qui compte comme "Lignes de Code"? J'estime que j'ai écrit autour de 250.000 Lignes de Code C#, peut-être un beaucoup plus. Le Problème? 95% était le code jetable, et tout n'a pas été pour l'apprentissage. Je trouve moi-même écrit un petit 3-programme en ligne pour la dixième fois tout simplement parce qu'il est plus facile d'écrire ces trois lignes de nouveau (et de changer un paramètre) que d'aller à la recherche pour les structures existantes.
Aussi, les lignes de code signifie rien. J'ai donc deux mecs, on a écrit 20% plus de Lignes que l'autre, mais ces 20% de plus ont été inutilement compliquées lignes, de "boucle-déroulage" et sinon trucs inutiles qui pourraient avoir été refait.
Désolé, respect de la société ou non, en Demandant de Lignes de Code est un signe certain qu'ils n'ont aucune idée sur la mesure de l'efficacité de leurs programmeurs, ce qui signifie qu'ils dépendent de l'âge de pierre de techniques comme la mesure de la Ldc qui sont à peu près aussi précis que des calendriers dans l'âge de pierre. Ce qui signifie qu'il est peut-être un bon lieu de travail si vous voulez de se laisser aller et de gonfler vos Numéros à chaque fois dans un tout.
Bon, c'était plus un coup de gueule qu'une réponse, mais je ne vois absolument aucune raison de ce nombre que ce soit.
Et personne n'a encore cité le projet de Loi Atkinson -2000 lignes de l'histoire...
Dans mon vendredi après-midi (bon, sur un vendredi par mois) l'auto-développement des exercices au cours de la dernière année, les essais, les prototypes et les infrastructures inclus, j'ai probablement écrit à propos de 5 kloc. Cependant, un projet a pris un existant 25kloc application C/C++ et ré-implémenté en tant que 1100 lignes de Erlang, et un autre a pris 15kloc d'une bibliothèque C et l'a transformé en 1kloc de C++, de sorte que le net est fortement négatif. Et la seule raison pour laquelle j'ai ces chiffres est que j'ai été à la recherche pour voir comment négatif.
Je sais que c'est un vieux post, mais c'est peut-être utile à quelqu'un, de toute façon...
J'ai récemment déménagé de l'entreprise, j'ai travaillé à environ 9,5 ans en tant que développeur Java. Tout notre code est dans le CVS, puis SVN, avec Atlassian Fisheye offrant une vue sur elle.
Quand j'ai quitté, Fisheye sur les rapports de mon personnel, le total de la LDC +- 250 000 habitants. Voici le Fisheye description de son LOC métriquey compris la discussion sur la façon dont chaque SVN personnelles de l'utilisateur LOC est calculé. Note le problèmes avec les branches et la fusion dans le SVN, et que la LDC ne devrait être basée sur le TRONC.