Ko nga hapa tino whakama i roto i taku mahi kaupapa (i tenei wa)

Ko nga hapa tino whakama i roto i taku mahi kaupapa (i tenei wa)
I a ratou e kii ana, ki te kore koe e whakama ki to waehere tawhito, karekau koe i te tipu hei kaihōtaka - ka whakaae ahau ki tenei whakaaro. I timata ahau i nga kaupapa mo te ngahau neke atu i te 40 tau ki muri, me nga mahi ngaio 30 tau ki muri, no reira he maha aku he. nui rawa. Hei ahorangi rorohiko rorohiko, ka ako au i aku tauira ki te ako mai i nga hapa—ta ratou, taku, me etahi atu. Ki taku whakaaro kua tae ki te wa ki te korero mo aku he kia kore ai e ngaro taku whakaiti. Ko taku tumanako ka whai hua ki tetahi.

Tuatoru - Microsoft C compiler

I whakapono taku kaiako kura e kore e taea te kiia he aitua a Romeo raua ko Juliet na te mea karekau he hara kino o nga kiripuaki - he poauau noa ta raua mahi, pera i nga taiohi. Kare au i whakaae ki a ia i tera wa, engari inaianei ka kite ahau i te hua o te tika ki tana whakaaro, ina koa mo te kaupapa.

I te mutunga o taku tau tuarua i MIT, he rangatahi ahau, he tauhou, i roto i te ao me te kaupapa. I te raumati, i uru ahau ki Microsoft, ki te roopu whakahiato C. I te tuatahi i mahia e au nga mahi penei i te tautoko profiling, katahi ka tukuna ahau ki te mahi i te waahanga tino ngahau o te kaitoha (i taku i whakaaro ai) - backend optimization. Ina koa, me whakapai ake e au te waehere x86 mo nga korero peka.

Настроенная написать оптимальный машинный код для каждого возможного случая, я бросилась в омут с головой. Если плотность распределения значений была высока, я вносила их в tepu whakawhiti. Mena he kaiwehewehe noa ta raatau, ka whakamahia e au kia pai ake te tepu (engari mena ka taea te wehewehe ma te whakamahi neke moka). I te mea ko nga uara katoa he mana o te rua, i mahia e ahau tetahi atu arotautanga. Mena kaore he huinga uara i tutuki i aku tikanga, ka wehea e au ki etahi keehi ka taea te arotau me te whakamahi i te waehere kua tino pai ake.

He moemoea. He maha nga tau i muri mai ka korerotia mai ki a au ko te kaihōtaka i mau mai i taku waehere e kino ana ki ahau.

Ko nga hapa tino whakama i roto i taku mahi kaupapa (i tenei wa)

Akoranga ako

I a David Patterson raua ko John Hennessy e tuhi ana i roto i te Rorohiko Hangahanga me te Rorohiko Hoahoa Pūnaha, ko tetahi o nga tino maataapono o te hoahoanga me te hoahoa ko te mahi tere i nga mahi.

Ko te tere ake i nga keehi noa ka pai ake te mahi i te arotau i nga keehi onge. Ko te mea ohorere, he ngawari ake nga keehi noa atu i nga keehi onge. Ko tenei tohutohu arorau e kii ana kei te mohio koe ko tehea keehi e kiia ana he mea noa - ka taea noa tenei ma te mahi whakamatautau me te ine.

I roto i taku whakapae, i whakamatau ahau ki te whakaaro he aha te ahua o nga korero peka i roto i nga mahi (penei i te maha o nga manga me te tohatoha o nga taurite), engari i te tau 1988 karekau enei korero i te waatea. Heoi, kaore au i taapiri i nga keehi motuhake i nga wa kaore e taea e te kaitoi o naianei te whakaputa waehere tino pai mo te tauira horihori i puta mai i ahau.

Me waea atu ahau ki tetahi kaiwhakawhanake mohio, ka whakaaro tahi me ia he aha nga keehi noa me te mahi ki a raatau. Ka iti ake te tuhi waehere, engari he mea pai tera. I tuhia e te kaiwhakarewa o Stack Overflow a Jeff Atwood, ko te hoariri kino rawa atu o te kaiwhakaputa ko te kaihōtaka ake:

E mohio ana ahau kei a koe nga whakaaro pai, pera me tatou katoa. Ka hangaia e matou he kaupapa me te aroha ki te tuhi waehere. Koia te hanga i a tatou. Ki ta matou whakaaro ka taea te whakatau i nga raru katoa ma te riipene riipene, he toka i te kainga me te tohu tohu. Ahakoa te mamae o nga kaikoeke ki te whakaae, ko te waehere pai ko te waehere karekau. Kei ia raina hou te patuiro me te tautoko, me maarama. Ka taapirihia e koe he waehere hou, me mahi i runga i te kore hiahia me te whakarihariha na te mea kua pau katoa etahi atu whiringa. He nui rawa te tuhi waehere he maha nga kaihōtaka, ka waiho hei hoariri mo tatou.

Mena kua tuhia e ahau he waehere ngawari ake e kapi ana i nga keehi noa, he maamaa ake te whakahou mena e tika ana. I waiho e ahau he raruraru kaore tetahi i hiahia ki te mahi.

Ko nga hapa tino whakama i roto i taku mahi kaupapa (i tenei wa)

Te waahi tuarua: panui i runga i nga whatunga hapori

I a au e mahi ana i Google i runga i nga panui paapori pāpori (mahara ki a Myspace?), I tuhia e au tetahi mea penei i C++:

for (int i = 0; i < user->interests->length(); i++) {
  for (int j = 0; j < user->interests(i)->keywords.length(); j++) {
      keywords->add(user->interests(i)->keywords(i)) {
  }
}

Ka kite tonu nga kaihōtaka i te hapa: ko te tautohe whakamutunga ko j, kaua ko i. Kaore i kitea e te whakamatautau waeine te hapa, me taku kai-arotake. I whakahaerehia te whakarewatanga, a, i tetahi po ka haere taku waehere ki te tūmau, ka pakaru nga rorohiko katoa i roto i te pokapū raraunga.

Kaore he kino i tupu. Kaore he mea i pakaru mo tetahi, na te mea i mua i te whakarewatanga o te ao i whakamatauria te waehere i roto i te pokapū raraunga kotahi. Ki te kore e mutu te purei piriona a nga miihini SRE mo te wa poto ka hoki whakamuri iti. I te ata i muri mai ka tae mai he imeera me te putunga tukinga, whakatikahia te waehere me te taapiri i nga whakamatautau wae ka mau i te hapa. I te mea i whai ahau i te kawa - mena ka kore taku waehere e rere - karekau he raru.

Ko nga hapa tino whakama i roto i taku mahi kaupapa (i tenei wa)

Akoranga ako

He tokomaha e tino mohio ana ko tenei he nui te utu mo te whakakorenga o te hunga hara, engari ehara i te mea penei: tuatahi, ka hee nga kaiwhakaputa hotaka katoa, tuarua, he iti rawa te mahi i te he kotahi.

На самом деле, у меня есть знакомый программист — блестящий инженер, которого уволили за одну-единственную ошибку. После этого его взяли на работу в Google (и вскоре повысили) — он честно рассказал о допущенной ошибке на интервью, и ее не сочли фатальной.

Ko te aha korero mo Thomas Watson, te upoko rongonui o IBM:

He ota a te kawanatanga tata ki te kotahi miriona taara i panuitia. IBM Corporation - ko Thomas Watson Sr. ake - i tino hiahia ki te tiki. Heoi, kaore i taea e te kaihoko hokohoko te mahi i tenei ka ngaro te tono a IBM. I te ra i muri mai, ka haere mai tenei kaimahi ki roto i te tari o Mr. Watson, ka whakatakoto he kopaki ki runga i tana teepu. Kaore a Mr. Watson i aro ki te titiro - kei te tatari ia mo tetahi kaimahi me tana mohio he reta rihaina tera.

Ka patai a Watson he aha te he.

Торговый представитель подробно рассказал о ходе тендера. Он назвал допущенные ошибки, которых можно было избежать. Наконец, он сказал: «Мистер Уотсон, спасибо вам за то, что дали мне объясниться. Я знаю, насколько мы нуждались в этом заказе. Я знаю, как он был важен», — и собрался уходить.

Уотсон подошел к нему у двери, посмотрел ему в глаза и вернул конверт со словами: «Как я могу дать тебе уйти? Я ведь только что вложил миллион долларов в твое образование.

He T-hate taku e kii ana: "Mena ka ako koe mai i nga he, he rangatira ahau." Inaa, ka pa ki nga hapa, he taote ahau mo te putaiao.

Первое место: App Inventor API

По-настоящему страшные ошибки затрагивают огромное количество пользователей, становятся достоянием общественности, долго исправляются и допускаются теми, кто мог бы их не допускать. Моя крупнейшая ошибка удовлетворяет всем этим критериям.

Чем хуже, тем лучше

I panui ahau tuhinga roa na Richard Gabriel mo tenei huarahi i nga tau iwa tekau hei tauira paetahi, he tino pai ki ahau ka patai atu ahau ki aku tauira. Ki te kore koe e maumahara pai, whakamauhia to mahara, he iti. Ko tenei tuhinga roa he rereke te hiahia ki te "tika" me te huarahi "kino he pai ake" i roto i nga huarahi maha, tae atu ki te ngawari.

Me pehea: me ngawari te hoahoa ki te whakatinana me te atanga. Ko te ngawari o te atanga he mea nui ake i te ngawari o te whakatinanatanga.

Ko te kino, ko te pai ake: me ngawari te hoahoa ki te whakatinana me te atanga. Ko te ngawari o te whakatinanatanga he mea nui ake i te ngawari o te atanga.

Забудем об этом на минутку. К сожалению, я забыла об этом на долгие годы.

Kaituku App

I a au e mahi ana i Google, i uru ahau ki te roopu Kaituku App, he taiao whanaketanga ipurangi toia me te maturuturu mo nga kaiwhakawhanake Android e pirangi ana. Ko te tau 2009, a, i tere matou ki te tuku i te putanga alpha i roto i te waa kia taea ai i te raumati te whakahaere i nga karaehe rangatira mo nga kaiako ka taea te whakamahi i te taiao i te wa e whakaako ana i te ngahuru. I tūao ahau ki te whakatinana sprites, nostalgic mo te pehea i whakamahia ahau ki te tuhituhi kēmu i runga i te TI-99/4. Mo te hunga karekau i te mohio, ko te sprite he ahanoa kauwhata ahu-rua ka taea te neke me te taunekeneke ki etahi atu huānga rorohiko. Ko nga tauira o te sprites ko nga mokowhiti, asteroids, mapere, me nga rakete.

I whakatinanahia e matou te App Inventor ki Java, na reira he paihere noa nga taonga kei roto. I te mea he rite te ahua o nga poi me nga sprites, i hanga e au he akomanga sprite waitara me nga taonga (nga mara) X, Y, Tere (tere) me te Pane (aronga). He rite tonu nga tikanga mo te kite i nga tukinga, te peke atu i te taha o te mata, aha atu.

Главное отличие между шариком и спрайтом в том, что именно нарисовано — заполненный круг или растр. Поскольку сначала я реализовала спрайты, логично было указать x- и y-координаты верхнего левого угла места, где располагалось изображение.

Ko nga hapa tino whakama i roto i taku mahi kaupapa (i tenei wa)
I te wa e mahi ana nga sprites, ka whakatau ahau ka taea e au te whakauru i nga mea poroporo me te iti rawa o te waehere. Ko te raru anake ko taku huarahi tino ngawari (mai i te tirohanga o te kaiwhakangungu), e tohu ana i te x- me te y-taunga o te kokonga maui o runga o te taiwhanga e hangai ana i te poi.

Ko nga hapa tino whakama i roto i taku mahi kaupapa (i tenei wa)
Ko te tikanga, me tohu te x- me te y-taunga o te pokapū o te porowhita, i whakaakona i roto i tetahi pukapuka pangarau me etahi atu puna korero e whakahua ana i nga porowhita.

Ko nga hapa tino whakama i roto i taku mahi kaupapa (i tenei wa)
В отличие от моих прошлых ошибок, от этой пострадали не только мои коллеги, но и миллионы пользователей App Inventor. Многие из них были детьми или совсем новичками в программировании. Им приходилось выполнять много лишних действий при работе над каждым приложением, в котором присутствовал шар. Если остальные свои ошибки я вспоминаю со смехом, то эта бросает меня в пот и сегодня.

I te mutunga ka papaki ahau i tenei pepeha no tata nei, tekau tau i muri mai. "Patched", ehara i te "whakatika", na te mea e kii ana a Joshua Bloch, he mau tonu nga API. Kare e taea te whakarereke ka pa ki nga papatono o naianei, i taapirihia e matou te taonga OriginAtCenter me te uara teka i roto i nga papatono tawhito me te pono i nga kaupapa katoa kei te heke mai. Ka patai pea nga kaiwhakamahi i tetahi patai arorau: ko wai i whakaaro ki te whakatakoto i te timatanga ki tetahi waahi ke atu i te pokapū. Ki a wai? Ki tetahi htakataka he mangere ki te hanga i tetahi API noa tekau tau ki muri.

Nga Akoranga i Akona

I te wa e mahi ana koe i nga API (e tata ana ki nga kaitoha katoa te mahi i etahi wa), me whai koe i nga tohutohu pai i tuhia i roto i te ataata a Joshua Bloch "Me pehea te hanga API pai me te take he mea nui"Or в этом кратком списке:

  • Ka taea e te API te kawe i te painga nui me te kino nui.. Ko te API pai ka hanga i nga kaihoko tukurua. Ko te mea kino ka waiho hei moemoea mo koe ake ake.
  • Ko nga API a te iwi, penei i nga taimana, ka mau tonu. Homai ki a koe te katoa: kare ake he waahi ki te mahi tika i nga mea katoa.
  • Наметки для API должны быть краткими — kotahi te wharangi me nga hainatanga me nga tohu tikanga me nga whakaahuatanga, kaua e neke ake i te rarangi. Ma tenei ka taea e koe te whakarereke i te API ki te kore e tino pai i te wa tuatahi.
  • Whakaahuahia nga keehi whakamahi, прежде чем реализовывать API и даже работать над его спецификацией. Таким образом вы избежите реализации и спецификации полностью нефункционального API.

Если бы я написала хотя бы небольшой конспект с искусственным сценарием, скорее всего, я бы выявила ошибку и исправила бы ее. Если и нет, то это точно бы сделал кто-то из моих коллег. Любое решение, которое имеет далеко идущие последствия, необходимо обдумывать хотя бы день (это касается не только программирования).

Ko te taitara o te tuhinga roa a Richard Gabriel, "Ko te Kino Ko te Pai," e pa ana ki te painga ka puta ki te hoko tuatahi ki te maakete—ahakoa he hua kore-tikanga—i te wa e whakapau ana tetahi atu ki te whai i te mea tino pai. Ma te whakaaro ki te waehere sprite, ka mohio ahau kaore au i hiahia ki te tuhi i etahi atu waehere kia tika ai. Ahakoa he aha te korero a tetahi, i pohehe rawa ahau.

mutunga

Программисты совершают ошибки каждый день — будь то написание кода с багами или нежелание попробовать что-то, что повысит их мастерство и продуктивность. Конечно, можно быть программистом и не допуская столь серьезных промахов, какие делала я. Но стать хорошим программистом, не осознавая своих ошибок и не извлекая из них уроков, невозможно.

I nga wa katoa ka tutaki ahau ki nga akonga e mahara ana he maha rawa o raatau he, na reira kaore i tapahia mo te kaupapa. Kei te mohio ahau he pehea te mate o te mate tinihanga i roto i te IT. Te ti'aturi nei au ka ako koe i nga akoranga kua whakarārangihia e au - engari kia mahara ki te kaupapa matua: kei te he tatou katoa - he whakama, he katakata, he whakamataku. Ka miharo ahau, ka pouri hoki ki te kore e ranea aku rauemi hei haere tonu i te tuhinga.

Source: will.com

Tāpiri i te kōrero