A kutyám megette a házi feladatot
Azt akarom, hogy ezt a munkát, hanem, hogy képes legyen megtenni. Az első nélkül a második haszontalan szempontjából a végeredmény.
- Tehát, ha valaki<нибудь берет передо мной некое обязательство, – заключил Роско, – я предполагаю, что он одновременно хочет и может его выполнить. Поэтому работа будет сделана. Дело закрыто. Если он не уверен в своих возможностях, не надо брать на себя обязательств.
Azt kellett gondolni, hogy mélyebben, mint tettem ilyet.
- Természetesen - folytatta Roscoe - mindig lesznek bűnözők, hogy száz<нут сочинять сказки про то, как «мое домашнее задание съела собака». Я та<ких не терплю и всегда удивляюсь, откуда они вообще взялись. И знаешь что: они всегда сообщают тебе, что не успевают сделать работу вечером накануне сдачи, хотя ясно, что они знали об этом намного раньше. Это просто несерьезные люди, и их надо гнать как можно скорее.
Úgy döntöttem, hogy ez igaz. Mindig nehezményezték, akik várta<следней минуты, чтобы сообщить мне плохие вести. Я не только считаю это признаком их трусости, но и полагаю, что они украли у меня время, в течение которого я мог бы придумать альтернативный план, чтобы за<крыть их провал.
- Önnek joga van vitatkozni, Roscoe - feleltem. - De néha úgy tűnik, hogy nem volt egyszerű<то недоразумение.
- Igen, van két közös típusú „mechanikus” hiba. -ban<пер<вых, может быть разночтение по поводу того, что представляет собой обяза<тельство. То есть что именно должен представлять собой результат? Сколько труб надо перевезти и в какое место в Техасе? Во<вторых, может быть не<четко определено «когда». Я всегда указываю водителю час, к которому тру<бы должны быть доставлены на место. Он понимает это так, что если он за<держится с доставкой, то я не получу той услуги, за которую заплатил.
- Ez pénz kérdése - tette I. Hogy ez alkalmazható, ha beszélünk a szoftvert?
Roscoe habozás nélkül válaszolt. - A programozók jól tenné, ha jobban tisztázni, hogy mit kell szállítani és mikorra. Akkor kevésbé lenne nyafogás, hogy vajon helyesen cselekedett-e vagy sem. Feltételek egyértelműnek kell lennie, világos és nem tárgyaljuk végtelenségig visszamenőleg.
- Mert azt a kötelezettséget, - mondta -, egy olyan szerződés, Coto<ром нет места двусмысленностям. В обязательстве не должно быть усло<вий, напечатанных мелким шрифтом. Там не должно быть лазеек, позво<ляющих отвертеться, если уговор не выполнен в срок.
Csak csodálkoztam, hogy milyen egyszerű logikai Texas olajtermelő<чиков нашла применение в программном бизнесе. Но у меня тут же воз<никли некоторые опасения.
War előírásoknak?
- Várj, Roscoe - én közbe. - Nem olyan könnyű végrehajtani a Nameh<рение точно затвердить, что именно должно быть поставлено. Уокер Ройс неоднократно говорил мне, что стремление к излишней точности в самом начале проекта ведет к большим потерям времени. Например, если на<стаивать на очень точных условиях поставки, возникает масса споров от<носительно спецификаций.
- Valójában - feleltem Roscoe - Egyetértek Walker. Uymy hulladék időt tárgyalja a finom részleteket a végtermék hasonlít a nyomvonal jogviták vessző a szerződésben. Kívánatos, hogy elkerülje ezt a költséget. Egyébként semmi sem lesz már véget, és túl sok időt töltenek, a gyümölcsök felesleges dokumentumokat. De van egy valós probléma, hogy szüksége van megoldása. Itt egy példa. Nagyon gyakran egy mérnök vagy programozó vállalja, hogy írjon a héten péntekig egy darab kódot be kell vonni az összeállítás egy nagyobb pro<екта. В указанный срок код поступает, но в нем обнаруживаются ошибки. Еще неделя уходит на то, чтобы их устранить. Затем обнаруживается, что если число элементов в используемом им массиве возрастает со 100 до 1000, то алгоритм работает в 100 раз медленнее. На исправление этого уходит еще несколько недель. И все это время задачи, которые зависят от этого кода, висят и ждут, когда он будет доделан.
Roscoe bemelegítés az előadás előtt. Folytatta.
- A probléma az, hogy a fiúk csak nem ért egyet, hogy a nevek<но должно было быть готово в ту пятницу. Программист считал, что это должен быть фрагмент кода. Менеджеру нужен был полностью отлажен<ный код, эффективно работающий в разумном диапазоне входных дан<ных. Очевидно, что характеристики поставляемого продукта не были со<гласованы. Программист будет доказывать, что, предоставив код, он вы<полнил свое обязательство, и станет изворачиваться, объясняя, что он во<
nem minden ugyanabban az időben ígért azonosítani és kijavítani az összes hibát. De jön ezen csúszós lejtőn ez nagyon veszélyes, mert most lesz egy<суждать, насколько серьезной может быть ошибка, которой разрешается проскочить тестирование (да проводил ли он его вообще?). А программист станет также доказывать, что вопросы эффективности вообще не обсужда<лись, хотя применение им алгоритма с квадратичной зависимостью от объ<ема данных 1 вообще несовместимо с понятиями компетентности и про<фессионализма.
Vajon aki megvilágosult mintegy Roscoe másodfokú algoritmusok?
- Nem mondom, hogy meg kell oldani a probléma része<ные спецификации, вплоть до точных показателей эффективности. Но так же, как я на своем нефтяном поле в Техасе вправе рассчитывать, что мои трубы после доставки на новую буровую не окажутся завязанными в крен<дель, так и менеджер программного проекта вправе полагать, что пред<ставляемый ему код не окажется полусырым. Особенно, когда программи<сту известно, что его код участвует в сборке проекта и будет использовать<ся другими людьми.
„Ez az, amit próbálok elmagyarázni,” - mondta Roscoe, hátradőlt a székében.
Három a leggyakoribb kifogások
finoman kérdezte Roscoe, hogy van-e bármilyen<либо пред<Я ставления о том, почему люди регулярно не выполняют свои обяза<тельства. Стоило ли сомневаться, что у него было свое мнение по этому предмету?
- Nekem úgy tűnik, hogy a szoftver üzleti, a legtöbb kötelezettségek értéktelen már az idő, amikor ejtik. Az emberek egyszerűen nem hagyja,<ют себе труда хорошенько подумать, прежде чем принимать на себя обяза<тельства. Если бы они понимали все последствия, вытекающие из приня<тия на себя обязательств, они были бы гораздо осторожнее. Приведу не<
Input tömb 1 nőtt 100-1000 elemek, azaz. E. 10-szer. A feldolgozási idő nőtt 100-szoros, vagy 10 négyzeten. Ebben a helyzetben, azt mondjuk, hogy az algo<ритм имеет квадратичную сложность. Квадратичные алгоритмы легко програм<мировать, но для всякой серьезной программы они убийственны. Хотелось бы, чтобы алгоритмы линейно зависели от размера входных данных. Знающий про<граммист обнаруживает квадратичные (или еще менее эффективные алгорит<мы) и заменяет их чаще всего такими, сложность которых не хуже n log(n). Ино<гда это лучшее, чего можно добиться.
példaként. Itt van a három leggyakoribb kifogások: „egész idő alatt megzavart engem, és én nem számítanék rá.” Hadd akinek nehéz? Nyilvánvalóan nem az enyém. Nem veszi kötelezettséget. Aki elkötelezte magát, akkor kellett volna, vagy ha mégis, akkor úgy gondoljuk, hogy ez elvonja, vagy sem, hogy figyelmetlen, amikor megpróbálta elterelni. Nyilvánvaló, hogy a vállalt kötelezettségek vonatkozásában rám, ő nem tulajdonítanak kellő jelentőséget, ha megzavart egyéb feladatokat. De mi a helyzet a „korábban ezt az ígéretet?”
- Várj, Roscoe - sírtam - bármi megtörténhet az életben. Ön játszik lyuk alatt a hozzászólások a kerítés, és esni kezd. Meg kell működni. Nem így van?
- Igen, néha az eső, - mondta. - Úgy vélem, hogy azáltal, hogy az értékelés, akkor ezt figyelembe venni. Ha 50% -át az idő esik az eső, akkor nem kell
értékelésében hivatkozik arra, hogy az eső nem. Nem lehet, hogy ez a feltételezés, majd panaszkodik, hogy elkezdett esni az eső.
- Igen - gondoltam -, úgy tűnik, az emberek ritkán jutnak eszembe ilyen dolgok. Sok a kötelezettségek azon a tényen alapul, hogy minden tökéletes lesz. Nezhe<лание признать, что обстоятельства могут сложиться неудачно – одна из причин, приводящих к беде и невыполнению обязательств.
- Nos, ez csak a második a listán? - kérdeztem.
- Itt a második kifogás, „ez volt nehezebb feladat, mint vártam.” ismét<таки, чья это вина? Не я оценивал задачу, а он. Если у него не было уверенности, не надо было брать на себя обязательство. Если он недоста<точно разобрался в задаче, чтобы правильно ее оценить, не нужно было брать на себя обязательство. Неожиданное прозрение посреди работы – явный непрофессионализм. То, что ты паршиво сделал оценку, не снимает с тебя ответственности за результат. Желание<то у тебя было, а компетент<ности не хватило.
Ó, hányszor kellett ezt hallani! Nyomorult kis versenyek<сказывает, что трудился день и ночь, но задача оказалась намного, неизме<римо труднее, чем он предполагал. И он рассчитывает на сочувствие. Я часто обнаруживал, что мне жалко того человека, который только что ме<ня подвел. Может быть, зря?
- Azt hiszem - mondta -, hogy az emberek néha vesz a kötelező<ства, потому что им кажется, что они сумеют сделать эту работу. И слиш<ком часто, как мне кажется, они начинают что<то понимать, только вник<нув в задачу глубже. Наверно, прежде чем брать на себя обязательство, они должны были попросить какое<то время, чтобы изучить задачу.