. . . "La programmation par contrat (en anglais, design by contract ou DBC) est un paradigme de programmation dans lequel le d\u00E9roulement des traitements est r\u00E9gi par des r\u00E8gles. Ces r\u00E8gles, appel\u00E9es des assertions, forment un contrat qui pr\u00E9cise les responsabilit\u00E9s entre le client et le fournisseur d'un morceau de code logiciel. C'est une m\u00E9thode de programmation semi-formelle dont le but principal est de r\u00E9duire le nombre de bugs dans les programmes. Historiquement, la programmation par contrat a \u00E9t\u00E9 introduite par Bertrand Meyer dans son langage Eiffel datant de 1985, qui \u00E9tait inspir\u00E9 de la notation Z cr\u00E9\u00E9e par Jean-Raymond Abrial."@fr . . . . . . . . . . . . . . . "\u0627\u0644\u062A\u0635\u0645\u064A\u0645 \u0628\u0627\u0644\u0639\u0642\u0648\u062F (\u0628\u0627\u0644\u0625\u0646\u062C\u0644\u064A\u0632\u064A\u0629: Desing by Contract)\u200F \u0647\u064A \u0637\u0631\u064A\u0642\u0629 \u0641\u064A \u0625\u062F\u0627\u0631\u0629 \u0627\u0644\u0645\u0634\u0627\u0631\u064A\u0639 \u0627\u0644\u0628\u0631\u0645\u062C\u064A\u0629 \u062D\u064A\u062B \u064A\u0642\u0648\u0645 \u0627\u0644\u0641\u0631\u064A\u0642 \u0627\u0644\u0628\u0631\u0645\u062C\u064A \u0628\u0648\u0636\u0639 \u0627\u0644\u0623\u0637\u0631 \u0627\u0644\u0639\u0627\u0645\u0629 \u0648\u0627\u0644\u0635\u0648\u0631\u0629 \u0627\u0644\u0643\u0628\u064A\u0631\u0629 \u0644\u0645\u0627 \u064A\u062C\u0628 \u0623\u0646 \u064A\u062D\u062F\u062B \u0623\u0648 \u064A\u062A\u0645 \u0641\u064A \u0643\u0644 \u062C\u0632\u0621 \u0628\u0631\u0645\u062C\u064A\u060C \u0645\u0639 \u062A\u0631\u0643 \u0637\u0631\u064A\u0642\u0629 \u062A\u0646\u0641\u064A\u0630 \u062A\u0644\u0643 \u0627\u0644\u0645\u0647\u0645\u0629 \u0644\u0644\u0645\u0628\u0631\u0645\u062C. \u0644\u0644\u0645\u062B\u0627\u0644 \u0639\u0644\u0649 \u0630\u0644\u0643\u060C \u064A\u0639\u0631\u0641 \u0623\u0646 \u0627\u0644\u0645\u0643\u0627\u0628\u062D \u0641\u064A \u0627\u0644\u0633\u064A\u0627\u0631\u0629 \u062A\u0639\u0645\u0644 \u0639\u0644\u0649 \u0625\u064A\u0642\u0627\u0641\u0647\u0627 (\u0647\u0630\u0627 \u0627\u0644\u0627\u062A\u0641\u0627\u0642)\u060C \u0644\u0643\u0646 \u0627\u0644\u0634\u0631\u0643\u0627\u062A \u0627\u0644\u0645\u062E\u062A\u0644\u0641\u0629 \u062A\u0633\u062A\u062E\u062F\u0645 \u0637\u0631\u0642\u064B\u0627 \u0645\u062E\u062A\u0644\u0641\u0629 \u0641\u064A \u0627\u0644\u0643\u064A\u0641\u064A\u0629 \u0627\u0644\u062A\u064A \u062A\u0635\u0645\u0645 \u0628\u0647\u0627 \u0639\u0645\u0644 \u0627\u0644\u0645\u0643\u0627\u0628\u062D. \u0641\u064A \u0627\u0644\u0628\u0631\u0645\u062C\u0629 \u064A\u062A\u0641\u0642 \u0627\u0644\u0645\u0628\u0631\u0645\u062C\u0648\u0646 \u0639\u0644\u0649 \u0639\u0645\u0644 \u0627\u0644\u0643\u0627\u0626\u0646\u0627\u062A \u0627\u0644\u0648\u0638\u0627\u0626\u0641 \u0628\u0634\u0643\u0644 \u0639\u0627\u0645 \u0648\u0645\u0627\u0630\u0627 \u064A\u062C\u0628 \u0623\u0646 \u062A\u0643\u0648\u0646 \u0646\u062A\u064A\u062C\u062A\u0647\u0627\u060C \u0648\u064A\u062A\u0631\u0643\u0648\u0646 \u0643\u064A\u0641\u064A\u0629 \u0627\u0644\u0639\u0645\u0644 \u0644\u0643\u0644 \u0634\u062E\u0635 \u0641\u064A \u0641\u0639\u0644 \u0645\u0627 \u064A\u0631\u0627\u0647 \u0645\u0646\u0627\u0633\u0628\u064B\u0627 \u062F\u0648\u0646 \u0623\u0646 \u064A\u063A\u064A\u0631 \u0641\u064A \u0645\u0627 \u0627\u062A\u0641\u0642 \u0639\u0644\u064A\u0647."@ar . . "Design by contract (kurz DbC, englisch f\u00FCr Entwurf gem\u00E4\u00DF Vertrag) oder Programming by Contract (\u201AVertragsbasierte Programmierung\u2018) ist ein Konzept aus dem Bereich der Softwareentwicklung. Ziel ist das reibungslose Zusammenspiel einzelner Programmmodule durch die Definition formaler Vertr\u00E4ge zur Verwendung von Schnittstellen, die \u00FCber deren statische Definition hinausgehen. Entwickelt und eingef\u00FChrt wurde es von Bertrand Meyer mit der Entwicklung der Programmiersprache Eiffel."@de . . . "\u0627\u0644\u062A\u0635\u0645\u064A\u0645 \u0628\u0627\u0644\u0639\u0642\u0648\u062F (\u0628\u0627\u0644\u0625\u0646\u062C\u0644\u064A\u0632\u064A\u0629: Desing by Contract)\u200F \u0647\u064A \u0637\u0631\u064A\u0642\u0629 \u0641\u064A \u0625\u062F\u0627\u0631\u0629 \u0627\u0644\u0645\u0634\u0627\u0631\u064A\u0639 \u0627\u0644\u0628\u0631\u0645\u062C\u064A\u0629 \u062D\u064A\u062B \u064A\u0642\u0648\u0645 \u0627\u0644\u0641\u0631\u064A\u0642 \u0627\u0644\u0628\u0631\u0645\u062C\u064A \u0628\u0648\u0636\u0639 \u0627\u0644\u0623\u0637\u0631 \u0627\u0644\u0639\u0627\u0645\u0629 \u0648\u0627\u0644\u0635\u0648\u0631\u0629 \u0627\u0644\u0643\u0628\u064A\u0631\u0629 \u0644\u0645\u0627 \u064A\u062C\u0628 \u0623\u0646 \u064A\u062D\u062F\u062B \u0623\u0648 \u064A\u062A\u0645 \u0641\u064A \u0643\u0644 \u062C\u0632\u0621 \u0628\u0631\u0645\u062C\u064A\u060C \u0645\u0639 \u062A\u0631\u0643 \u0637\u0631\u064A\u0642\u0629 \u062A\u0646\u0641\u064A\u0630 \u062A\u0644\u0643 \u0627\u0644\u0645\u0647\u0645\u0629 \u0644\u0644\u0645\u0628\u0631\u0645\u062C. \u0644\u0644\u0645\u062B\u0627\u0644 \u0639\u0644\u0649 \u0630\u0644\u0643\u060C \u064A\u0639\u0631\u0641 \u0623\u0646 \u0627\u0644\u0645\u0643\u0627\u0628\u062D \u0641\u064A \u0627\u0644\u0633\u064A\u0627\u0631\u0629 \u062A\u0639\u0645\u0644 \u0639\u0644\u0649 \u0625\u064A\u0642\u0627\u0641\u0647\u0627 (\u0647\u0630\u0627 \u0627\u0644\u0627\u062A\u0641\u0627\u0642)\u060C \u0644\u0643\u0646 \u0627\u0644\u0634\u0631\u0643\u0627\u062A \u0627\u0644\u0645\u062E\u062A\u0644\u0641\u0629 \u062A\u0633\u062A\u062E\u062F\u0645 \u0637\u0631\u0642\u064B\u0627 \u0645\u062E\u062A\u0644\u0641\u0629 \u0641\u064A \u0627\u0644\u0643\u064A\u0641\u064A\u0629 \u0627\u0644\u062A\u064A \u062A\u0635\u0645\u0645 \u0628\u0647\u0627 \u0639\u0645\u0644 \u0627\u0644\u0645\u0643\u0627\u0628\u062D. \u0641\u064A \u0627\u0644\u0628\u0631\u0645\u062C\u0629 \u064A\u062A\u0641\u0642 \u0627\u0644\u0645\u0628\u0631\u0645\u062C\u0648\u0646 \u0639\u0644\u0649 \u0639\u0645\u0644 \u0627\u0644\u0643\u0627\u0626\u0646\u0627\u062A \u0627\u0644\u0648\u0638\u0627\u0626\u0641 \u0628\u0634\u0643\u0644 \u0639\u0627\u0645 \u0648\u0645\u0627\u0630\u0627 \u064A\u062C\u0628 \u0623\u0646 \u062A\u0643\u0648\u0646 \u0646\u062A\u064A\u062C\u062A\u0647\u0627\u060C \u0648\u064A\u062A\u0631\u0643\u0648\u0646 \u0643\u064A\u0641\u064A\u0629 \u0627\u0644\u0639\u0645\u0644 \u0644\u0643\u0644 \u0634\u062E\u0635 \u0641\u064A \u0641\u0639\u0644 \u0645\u0627 \u064A\u0631\u0627\u0647 \u0645\u0646\u0627\u0633\u0628\u064B\u0627 \u062F\u0648\u0646 \u0623\u0646 \u064A\u063A\u064A\u0631 \u0641\u064A \u0645\u0627 \u0627\u062A\u0641\u0642 \u0639\u0644\u064A\u0647."@ar . . . . . . "\u5951\u7D04\u30D7\u30ED\u30B0\u30E9\u30DF\u30F3\u30B0\uFF08\u3051\u3044\u3084\u304F\u30D7\u30ED\u30B0\u30E9\u30DF\u30F3\u30B0\u3001\u82F1: Contract programming\uFF09\u307E\u305F\u306F\u5951\u7D04\u306B\u3088\u308B\u8A2D\u8A08\uFF08\u3051\u3044\u3084\u304F\u306B\u3088\u308B\u305B\u3063\u3051\u3044\u3001\u82F1: Design by Contract; DbC\uFF09\u306F\u3001\u30BD\u30D5\u30C8\u30A6\u30A7\u30A2\u306E\u6B63\u78BA\u6027\u3068\u9811\u5065\u6027\u3092\u9AD8\u3081\u308B\u305F\u3081\u306E\u30BD\u30D5\u30C8\u30A6\u30A7\u30A2\u8A2D\u8A08\u306E\u65B9\u6CD5\u8AD6\u3067\u3042\u308B\u3002DbC \u306F\u30ED\u30D0\u30FC\u30C8\u30FB\u30D5\u30ED\u30A4\u30C9\u3001\u30A2\u30F3\u30C8\u30CB\u30FC\u30FB\u30DB\u30FC\u30A2\u3001\u30A8\u30C9\u30AC\u30FC\u30FB\u30C0\u30A4\u30AF\u30B9\u30C8\u30E9\u3089\u306E\u5F62\u5F0F\u7684\u691C\u8A3C\u306E\u4ED5\u4E8B\u3092\u57FA\u790E\u306B\u3057\u3066\u3044\u308B\u3002DbC \u306F\uFF08\u62BD\u8C61\u30C7\u30FC\u30BF\u578B\u306B\u57FA\u3065\u304F\uFF09\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u6307\u5411\u30D7\u30ED\u30B0\u30E9\u30DF\u30F3\u30B0\u306B\u304A\u3051\u308B\u8868\u660E\u306E\u5229\u7528\u3084\u3001\u7D99\u627F\u306B\u4F34\u3046\u8868\u660E\u306E\u518D\u5B9A\u7FA9\u306E\u539F\u7406\u7684\u898F\u5247\u3001\u4F8B\u5916\u51E6\u7406\u306E\u539F\u7406\u7684\u898F\u5247\u306A\u3069\u3092\u63D0\u4F9B\u3059\u308B\u3002 DbC \u306F\u3001\u30D0\u30FC\u30C8\u30E9\u30F3\u30C9\u30FB\u30E1\u30A4\u30E4\u30FC\u306B\u3088\u3063\u3066\u63D0\u6848\u3055\u308C\u305F\u3002"@ja . . . . "\u062A\u0635\u0645\u064A\u0645 \u0628\u0627\u0644\u0639\u0642\u0648\u062F"@ar . . . . . . . "Design by contract"@it . . . . "Programowanie kontraktowe (ang. Design by contract, DbC) \u2013 w programowaniu, metoda organizowania kodu \u017Ar\u00F3d\u0142owego programu w taki spos\u00F3b, aby wynika\u0142o z niego nie tylko jak program ma dzia\u0142a\u0107, ale te\u017C w jaki spos\u00F3b zweryfikowa\u0107 poprawno\u015B\u0107 dzia\u0142ania konkretnych element\u00F3w programu (funkcje, struktury, klasy, modu\u0142y, itp.). Programowanie kontraktowe jest zwi\u0105zane z programowaniem obiektowym."@pl . "La programmation par contrat (en anglais, design by contract ou DBC) est un paradigme de programmation dans lequel le d\u00E9roulement des traitements est r\u00E9gi par des r\u00E8gles. Ces r\u00E8gles, appel\u00E9es des assertions, forment un contrat qui pr\u00E9cise les responsabilit\u00E9s entre le client et le fournisseur d'un morceau de code logiciel. C'est une m\u00E9thode de programmation semi-formelle dont le but principal est de r\u00E9duire le nombre de bugs dans les programmes."@fr . . . . . . . "Programowanie kontraktowe (ang. Design by contract, DbC) \u2013 w programowaniu, metoda organizowania kodu \u017Ar\u00F3d\u0142owego programu w taki spos\u00F3b, aby wynika\u0142o z niego nie tylko jak program ma dzia\u0142a\u0107, ale te\u017C w jaki spos\u00F3b zweryfikowa\u0107 poprawno\u015B\u0107 dzia\u0142ania konkretnych element\u00F3w programu (funkcje, struktury, klasy, modu\u0142y, itp.). Programowanie kontraktowe jest zwi\u0105zane z programowaniem obiektowym."@pl . "\u041A\u043E\u043D\u0442\u0440\u0430\u043A\u0442\u043D\u043E\u0435 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435"@ru . . . . . . . . . . . . . "20315"^^ . . . . . "Programa\u00E7\u00E3o por contrato do ingl\u00EAs Design by contract (DbC) \u00E9 um abordagem de desenvolvimento de software que prescreve que os desenvolvedores devem definir m\u00E9todos formais, especifica\u00E7\u00F5es de interface precisas e verific\u00E1veis dos componentes de desenvolvimento de software, que acarreta na defini\u00E7\u00E3o de Tipo Abstrato de Dados com pre-condi\u00E7\u00F5es, pos-condi\u00E7\u00F5es e constantes. Estas especifica\u00E7\u00F5es s\u00E3o definidas como um \"contrato\", de acordo com os pr\u00F3prios conceitos de condi\u00E7\u00F5es e obriga\u00E7\u00F5es dos contratos de neg\u00F3cio. Devido o termo Design by Contract ser marca registrada da Eiffel Software nos EUA, muitos desenvolvedores se referem \u00E0 abordagem como Programa\u00E7\u00E3o por Contrato (Programming by contract)."@pt . "\u5951\u7EA6\u5F0F\u8BBE\u8BA1\uFF08\u82F1\u8A9E\uFF1ADesign by Contract\uFF0C\u7E2E\u5BEB\u70BA DbC\uFF09\uFF0C\u4E00\u79CD\u8BBE\u8BA1\u8BA1\u7B97\u673A\u8F6F\u4EF6\u7684\u65B9\u6CD5\u3002\u8FD9\u79CD\u65B9\u6CD5\u8981\u6C42\u8F6F\u4EF6\u8BBE\u8BA1\u8005\u4E3A\u8F6F\u4EF6\u7EC4\u4EF6\u5B9A\u4E49\u6B63\u5F0F\u7684\uFF0C\u7CBE\u786E\u7684\u5E76\u4E14\u53EF\u9A8C\u8BC1\u7684\u63A5\u53E3\uFF0C\u8FD9\u6837\uFF0C\u4E3A\u4F20\u7EDF\u7684\u62BD\u8C61\u6570\u636E\u7C7B\u578B\u53C8\u589E\u52A0\u4E86\u5148\u9A8C\u6761\u4EF6\u3001\u540E\u9A8C\u6761\u4EF6\u548C\u4E0D\u53D8\u5F0F\u3002\u8FD9\u79CD\u65B9\u6CD5\u7684\u540D\u5B57\u91CC\u7528\u5230\u7684\u201C\u5951\u7EA6\u201D\u6216\u8005\u8BF4\u201C\u5951\u7EA6\u201D\u662F\u4E00\u79CD\u6BD4\u55BB\uFF0C\u56E0\u4E3A\u5B83\u548C\u5546\u4E1A\u5951\u7EA6\u7684\u60C5\u51B5\u6709\u70B9\u7C7B\u4F3C\u3002 \u56E0\u4E3A\u201CDesign by Contract\u201D\u662F\u5C5E\u4E8EEiffel Software\u7684\u6CE8\u518C\u5546\u6807\uFF0C\u5F88\u591A\u5F00\u53D1\u4EBA\u5458\u7528\u5951\u7D04\u5F0F\u7DE8\u7A0B\uFF08Programming by Contract\uFF09\uFF0C\u5951\u7D04\u7DE8\u7A0B\uFF08Contract Programming\uFF09\uFF0C\u6216\u8005\u5951\u7D04\u512A\u5148\u5F0F\u958B\u767C\uFF08Contract-First development\uFF09\u6765\u6307\u4EE3\u8FD9\u79CD\u65B9\u6CD5\u3002\u5FAE\u8EDF\u4E5F\u63A1\u7528\u9019\u7A2E\u8A2D\u8A08\u65B9\u6CD5\uFF0C\u7A31\u70BA\u7A0B\u5F0F\u78BC\u5408\u7D04\uFF08Code Contracts\uFF09\u3002"@zh . . "Programa\u00E7\u00E3o por contrato"@pt . . . . . . . . "Design by contract (kurz DbC, englisch f\u00FCr Entwurf gem\u00E4\u00DF Vertrag) oder Programming by Contract (\u201AVertragsbasierte Programmierung\u2018) ist ein Konzept aus dem Bereich der Softwareentwicklung. Ziel ist das reibungslose Zusammenspiel einzelner Programmmodule durch die Definition formaler Vertr\u00E4ge zur Verwendung von Schnittstellen, die \u00FCber deren statische Definition hinausgehen. Entwickelt und eingef\u00FChrt wurde es von Bertrand Meyer mit der Entwicklung der Programmiersprache Eiffel."@de . . . . . . . . . . . . . . . . . . "El dise\u00F1o por contrato es una metodolog\u00EDa para el dise\u00F1o e implementaci\u00F3n de aplicaciones y componentes popularizada por el lenguaje de programaci\u00F3n Eiffel. Consiste en considerar los elementos de dise\u00F1o como participantes de una relaci\u00F3n similar al contrato de negocios. As\u00ED, se pueden dise\u00F1ar los componentes dando por supuesto que se cumplir\u00E1n ciertas condiciones de entrada (precondiciones), mientras que se deber\u00E1n garantizar ciertas condiciones de salida (postcondiciones), as\u00ED como la invariante de clase (propiedades que se mantienen invariantes a pesar del procesamiento realizado por el componente). Esta metodolog\u00EDa promete: \n* Una mejor comprensi\u00F3n de la programaci\u00F3n orientada a objetos. Esto se debe a que el propio prototipo de un recurso de una clase es tambi\u00E9n parte del contrato que este ofrece. Mediante razonamientos de este tipo, por ejemplo, se justifica el comportamiento covariante de los tipos de retornos de los m\u00E9todos en Eiffel. \n* Menos errores en el c\u00F3digo gracias a una mejor representaci\u00F3n de las especificaciones. \n* Un sistema efectivo para detectar errores. \n* Una forma pr\u00E1ctica de documentar el c\u00F3digo al mismo tiempo en que se programa. \n* Una imbricaci\u00F3n eficaz con los mecanismos de herencia y reutilizaci\u00F3n. \n* Una forma efectiva de encapsulaci\u00F3n evitando el acceso al resto de propiedades y m\u00E9todos. \n* Una agrupaci\u00F3n de operaciones para un mismo contexto. Si hablamos de una entidad A del cual, podemos instanciar dos objetos B y C que tienen distintos contextos relacionados con la entidad A, con el contrato no exponemos el negocio que tenga que ofrecer el objeto B con el del C. Un ejemplo A = Banco, B= Ingresos bancarios y C= pagos de facturas."@es . . . . . "Perkontrakta programado estas paradigmo kiu permesas fari komputilajn programojn pli sekuraj dank'al aldono de reguloj. Plej kutime la reguloj estas aldonataj sur la signaturo de funkcio a\u016D proceduro. Temas pri: \n* prekondi\u0109oj : indikas ke la parametroj kaj la \u0109irkaua\u0135o devas respekti regulojn anta\u016D ol oni vokas la funkcion \n* postkondi\u0109oj : indikas ke la funkcio garantias ke la regulo estos vera post la alvoko de la funkcio \n* nevarianto : indikas ke io estas \u0109iam vera, do anta\u016D kaj post la voko de la funkcio. Ekzemple, se oni volas skribi funkcion por kalkuli logaritmon oni povus diri ke"@eo . . . . . "Design by contract (DbC), also known as contract programming, programming by contract and design-by-contract programming, is an approach for designing software. It prescribes that software designers should define formal, precise and verifiable interface specifications for software components, which extend the ordinary definition of abstract data types with preconditions, postconditions and invariants. These specifications are referred to as \"contracts\", in accordance with a conceptual metaphor with the conditions and obligations of business contracts. The DbC approach assumes all client components that invoke an operation on a server component will meet the preconditions specified as required for that operation. Where this assumption is considered too risky (as in multi-channel or distributed computing), the inverse approach is taken, meaning that the server component tests that all relevant preconditions hold true (before, or while, processing the client component's request) and replies with a suitable error message if not."@en . . . . "Design by Contract"@de . "39289"^^ . . . . . . . . "\u041F\u0440\u043E\u0454\u043A\u0442\u0443\u0432\u0430\u043D\u043D\u044F \u0437\u0430 \u043A\u043E\u043D\u0442\u0440\u0430\u043A\u0442\u043E\u043C"@uk . . . . . . . . . . . . "Programmation par contrat"@fr . . . . . . . . . . . . . . . . . "\u041F\u0440\u043E\u0435\u043A\u0442\u0443\u0432\u0430\u043D\u043D\u044F \u0437\u0430 \u043A\u043E\u043D\u0442\u0440\u0430\u043A\u0442\u043E\u043C (\u0430\u043D\u0433\u043B. design by contract (DbC), programming by contract, contract-based programming) \u2014 \u043C\u0435\u0442\u043E\u0434\u043E\u043B\u043E\u0433\u0456\u044F \u0440\u043E\u0437\u0440\u043E\u0431\u043A\u0438 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043D\u043E\u0433\u043E \u0437\u0430\u0431\u0435\u0437\u043F\u0435\u0447\u0435\u043D\u043D\u044F. \u0412\u043E\u043D\u0430 \u0432\u0438\u043C\u0430\u0433\u0430\u0454 \u0432\u0456\u0434 \u043F\u0440\u043E\u0435\u043A\u0442\u0443\u0432\u0430\u043B\u044C\u043D\u0438\u043A\u0456\u0432 \u0437\u0430\u0434\u0430\u0432\u0430\u0442\u0438 \u0444\u043E\u0440\u043C\u0430\u043B\u044C\u043D\u0456, \u0442\u043E\u0447\u043D\u0456 \u0442\u0430 \u0442\u0430\u043A\u0456, \u0449\u043E \u043F\u0456\u0434\u043B\u044F\u0433\u0430\u044E\u0442\u044C \u0432\u0435\u0440\u0438\u0444\u0456\u043A\u0430\u0446\u0456\u0457, \u0441\u043F\u0435\u0446\u0438\u0444\u0456\u043A\u0430\u0446\u0456\u0457 \u0456\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0456\u0432 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043D\u0438\u0445 \u043A\u043E\u043C\u043F\u043E\u043D\u0435\u043D\u0442\u0456\u0432. \u041E\u043A\u0440\u0456\u043C \u0437\u0430\u0434\u0430\u043D\u043D\u044F \u0430\u0431\u0441\u0442\u0440\u0430\u043A\u0442\u043D\u0438\u0445 \u0442\u0438\u043F\u0456\u0432 \u0434\u0430\u043D\u0438\u0445 \u0432\u0438\u043C\u0430\u0433\u0430\u0454\u0442\u044C\u0441\u044F \u0442\u0430\u043A\u043E\u0436 \u0437\u0430\u0434\u0430\u043D\u043D\u044F \u043F\u0435\u0440\u0435\u0434\u0443\u043C\u043E\u0432, \u043F\u0456\u0441\u043B\u044F\u0443\u043C\u043E\u0432 \u0442\u0430 \u0456\u043D\u0432\u0430\u0440\u0456\u0430\u043D\u0442\u0456\u0432. \u0422\u0430\u043A\u0456 \u0441\u043F\u0435\u0446\u0438\u0444\u0456\u043A\u0430\u0446\u0456\u0457 \u043D\u0430\u0437\u0438\u0432\u0430\u044E\u0442\u044C\u0441\u044F \u00AB\u043A\u043E\u043D\u0442\u0440\u0430\u043A\u0442\u0430\u043C\u0438\u00BB \u0437\u0433\u0456\u0434\u043D\u043E \u0437 \u043A\u043E\u043D\u0446\u0435\u043F\u0442\u0443\u0430\u043B\u044C\u043D\u043E\u044E \u043C\u0435\u0442\u0430\u0444\u043E\u0440\u043E\u044E \u0443\u043C\u043E\u0432 \u0456 \u0437\u043E\u0431\u043E\u0432'\u044F\u0437\u0430\u043D\u044C \u0443 \u0431\u0456\u0437\u043D\u0435\u0441\u043E\u0432\u0438\u0445 \u043A\u043E\u043D\u0442\u0440\u0430\u043A\u0442\u0430\u0445. \u041F\u0456\u0434\u0445\u0456\u0434 DbC \u043F\u0435\u0440\u0435\u0434\u0431\u0430\u0447\u0430\u0454, \u0449\u043E \u0432\u0441\u0456 \u043A\u043B\u0456\u0454\u043D\u0442\u0441\u044C\u043A\u0456 \u043A\u043E\u043C\u043F\u043E\u043D\u0435\u043D\u0442\u0438, \u044F\u043A\u0456 \u0432\u0438\u043A\u043B\u0438\u043A\u0430\u044E\u0442\u044C \u043E\u043F\u0435\u0440\u0430\u0446\u0456\u0457 \u043D\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u043D\u0438\u0445 \u043A\u043E\u043C\u043F\u043E\u043D\u0435\u043D\u0442\u0430\u0445, \u043F\u043E\u0432\u0438\u043D\u043D\u0456 \u0432\u0456\u0434\u043F\u043E\u0432\u0456\u0434\u0430\u0442\u0438 \u043F\u0435\u0440\u0435\u0434\u0443\u043C\u043E\u0432\u0430\u043C, \u0432\u0438\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0445 \u044F\u043A \u043D\u0435\u043E\u0431\u0445\u0456\u0434\u043D\u0456 \u0434\u043B\u044F \u0446\u0456\u0454\u0457 \u043E\u043F\u0435\u0440\u0430\u0446\u0456\u0457. \u0422\u0430\u043C, \u0434\u0435 \u0446\u0435 \u043F\u0440\u0438\u043F\u0443\u0449\u0435\u043D\u043D\u044F \u0432\u0432\u0430\u0436\u0430\u0454\u0442\u044C\u0441\u044F \u0437\u0430\u043D\u0430\u0434\u0442\u043E \u0440\u0438\u0437\u0438\u043A\u043E\u0432\u0430\u043D\u0438\u043C (\u044F\u043A \u0443 \u0431\u0430\u0433\u0430\u0442\u043E\u043A\u0430\u043D\u0430\u043B\u044C\u043D\u0438\u0445 \u043A\u043B\u0456\u0454\u043D\u0442-\u0441\u0435\u0440\u0432\u0435\u0440\u043D\u0438\u0445 \u0430\u0431\u043E \u0440\u043E\u0437\u043F\u043E\u0434\u0456\u043B\u0435\u043D\u0438\u0445 \u043E\u0431\u0447\u0438\u0441\u043B\u0435\u043D\u043D\u044F\u0445) \u043E\u0431\u0438\u0440\u0430\u044E\u0442\u044C \u043F\u0440\u043E\u0442\u0438\u043B\u0435\u0436\u043D\u0438\u0439 \u043F\u0456\u0434\u0445\u0456\u0434 - \u00AB\u0431\u0435\u0437\u043F\u0435\u0447\u043D\u0435 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u0443\u0432\u0430\u043D\u043D\u044F\u00BB, \u044F\u043A\u0435 \u043E\u0437\u043D\u0430\u0447\u0430\u0454, \u0449\u043E \u0441\u0435\u0440\u0432\u0435\u0440\u043D\u0438\u0439 \u043A\u043E\u043C\u043F\u043E\u043D\u0435\u043D\u0442 \u043F\u0435\u0440\u0435\u0432\u0456\u0440\u044F\u0454 (\u0434\u043E \u0430\u0431\u043E \u043F\u0456\u0434 \u0447\u0430\u0441 \u043E\u0431\u0440\u043E\u0431\u043A\u0438 \u0437\u0430\u043F\u0438\u0442\u0443 \u043A\u043B\u0456\u0454\u043D\u0442\u0430), \u0449\u043E \u0432\u0441\u0456 \u0432\u0456\u0434\u043F\u043E\u0432\u0456\u0434\u043D\u0456 \u043F\u0435\u0440\u0435\u0434\u0443\u043C\u043E\u0432\u0438 \u0434\u043E\u0442\u0440\u0438\u043C\u0430\u043D\u0456, \u0430\u0431\u043E \u0432\u0456\u0434\u043F\u043E\u0432\u0456\u0434\u0430\u0454 \u043D\u0430\u043B\u0435\u0436\u043D\u0438\u043C \u043F\u043E\u0432\u0456\u0434\u043E\u043C\u043B\u0435\u043D\u043D\u044F\u043C \u043F\u0440\u043E \u043F\u043E\u043C\u0438\u043B\u043A\u0443, \u044F\u043A\u0449\u043E \u043D\u0456."@uk . "\u041F\u0440\u043E\u0435\u043A\u0442\u0443\u0432\u0430\u043D\u043D\u044F \u0437\u0430 \u043A\u043E\u043D\u0442\u0440\u0430\u043A\u0442\u043E\u043C (\u0430\u043D\u0433\u043B. design by contract (DbC), programming by contract, contract-based programming) \u2014 \u043C\u0435\u0442\u043E\u0434\u043E\u043B\u043E\u0433\u0456\u044F \u0440\u043E\u0437\u0440\u043E\u0431\u043A\u0438 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043D\u043E\u0433\u043E \u0437\u0430\u0431\u0435\u0437\u043F\u0435\u0447\u0435\u043D\u043D\u044F. \u0412\u043E\u043D\u0430 \u0432\u0438\u043C\u0430\u0433\u0430\u0454 \u0432\u0456\u0434 \u043F\u0440\u043E\u0435\u043A\u0442\u0443\u0432\u0430\u043B\u044C\u043D\u0438\u043A\u0456\u0432 \u0437\u0430\u0434\u0430\u0432\u0430\u0442\u0438 \u0444\u043E\u0440\u043C\u0430\u043B\u044C\u043D\u0456, \u0442\u043E\u0447\u043D\u0456 \u0442\u0430 \u0442\u0430\u043A\u0456, \u0449\u043E \u043F\u0456\u0434\u043B\u044F\u0433\u0430\u044E\u0442\u044C \u0432\u0435\u0440\u0438\u0444\u0456\u043A\u0430\u0446\u0456\u0457, \u0441\u043F\u0435\u0446\u0438\u0444\u0456\u043A\u0430\u0446\u0456\u0457 \u0456\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0456\u0432 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043D\u0438\u0445 \u043A\u043E\u043C\u043F\u043E\u043D\u0435\u043D\u0442\u0456\u0432. \u041E\u043A\u0440\u0456\u043C \u0437\u0430\u0434\u0430\u043D\u043D\u044F \u0430\u0431\u0441\u0442\u0440\u0430\u043A\u0442\u043D\u0438\u0445 \u0442\u0438\u043F\u0456\u0432 \u0434\u0430\u043D\u0438\u0445 \u0432\u0438\u043C\u0430\u0433\u0430\u0454\u0442\u044C\u0441\u044F \u0442\u0430\u043A\u043E\u0436 \u0437\u0430\u0434\u0430\u043D\u043D\u044F \u043F\u0435\u0440\u0435\u0434\u0443\u043C\u043E\u0432, \u043F\u0456\u0441\u043B\u044F\u0443\u043C\u043E\u0432 \u0442\u0430 \u0456\u043D\u0432\u0430\u0440\u0456\u0430\u043D\u0442\u0456\u0432. \u0422\u0430\u043A\u0456 \u0441\u043F\u0435\u0446\u0438\u0444\u0456\u043A\u0430\u0446\u0456\u0457 \u043D\u0430\u0437\u0438\u0432\u0430\u044E\u0442\u044C\u0441\u044F \u00AB\u043A\u043E\u043D\u0442\u0440\u0430\u043A\u0442\u0430\u043C\u0438\u00BB \u0437\u0433\u0456\u0434\u043D\u043E \u0437 \u043A\u043E\u043D\u0446\u0435\u043F\u0442\u0443\u0430\u043B\u044C\u043D\u043E\u044E \u043C\u0435\u0442\u0430\u0444\u043E\u0440\u043E\u044E \u0443\u043C\u043E\u0432 \u0456 \u0437\u043E\u0431\u043E\u0432'\u044F\u0437\u0430\u043D\u044C \u0443 \u0431\u0456\u0437\u043D\u0435\u0441\u043E\u0432\u0438\u0445 \u043A\u043E\u043D\u0442\u0440\u0430\u043A\u0442\u0430\u0445."@uk . . . "Design by contract"@en . . . . . . "Design by contract (in sigla: DBC ) o progettazione per contratto \u00E8 una metodologia per progettare il software. Prescrive che i progettisti di software debbano definire specifiche precise e verificabili delle interfacce dei componenti software, basandosi sulla teoria dei tipi di dati astratti e sulla metafora di un contratto legale."@it . . . . . . . "Programa\u00E7\u00E3o por contrato do ingl\u00EAs Design by contract (DbC) \u00E9 um abordagem de desenvolvimento de software que prescreve que os desenvolvedores devem definir m\u00E9todos formais, especifica\u00E7\u00F5es de interface precisas e verific\u00E1veis dos componentes de desenvolvimento de software, que acarreta na defini\u00E7\u00E3o de Tipo Abstrato de Dados com pre-condi\u00E7\u00F5es, pos-condi\u00E7\u00F5es e constantes. Estas especifica\u00E7\u00F5es s\u00E3o definidas como um \"contrato\", de acordo com os pr\u00F3prios conceitos de condi\u00E7\u00F5es e obriga\u00E7\u00F5es dos contratos de neg\u00F3cio."@pt . "\u5951\u7D04\u30D7\u30ED\u30B0\u30E9\u30DF\u30F3\u30B0\uFF08\u3051\u3044\u3084\u304F\u30D7\u30ED\u30B0\u30E9\u30DF\u30F3\u30B0\u3001\u82F1: Contract programming\uFF09\u307E\u305F\u306F\u5951\u7D04\u306B\u3088\u308B\u8A2D\u8A08\uFF08\u3051\u3044\u3084\u304F\u306B\u3088\u308B\u305B\u3063\u3051\u3044\u3001\u82F1: Design by Contract; DbC\uFF09\u306F\u3001\u30BD\u30D5\u30C8\u30A6\u30A7\u30A2\u306E\u6B63\u78BA\u6027\u3068\u9811\u5065\u6027\u3092\u9AD8\u3081\u308B\u305F\u3081\u306E\u30BD\u30D5\u30C8\u30A6\u30A7\u30A2\u8A2D\u8A08\u306E\u65B9\u6CD5\u8AD6\u3067\u3042\u308B\u3002DbC \u306F\u30ED\u30D0\u30FC\u30C8\u30FB\u30D5\u30ED\u30A4\u30C9\u3001\u30A2\u30F3\u30C8\u30CB\u30FC\u30FB\u30DB\u30FC\u30A2\u3001\u30A8\u30C9\u30AC\u30FC\u30FB\u30C0\u30A4\u30AF\u30B9\u30C8\u30E9\u3089\u306E\u5F62\u5F0F\u7684\u691C\u8A3C\u306E\u4ED5\u4E8B\u3092\u57FA\u790E\u306B\u3057\u3066\u3044\u308B\u3002DbC \u306F\uFF08\u62BD\u8C61\u30C7\u30FC\u30BF\u578B\u306B\u57FA\u3065\u304F\uFF09\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u6307\u5411\u30D7\u30ED\u30B0\u30E9\u30DF\u30F3\u30B0\u306B\u304A\u3051\u308B\u8868\u660E\u306E\u5229\u7528\u3084\u3001\u7D99\u627F\u306B\u4F34\u3046\u8868\u660E\u306E\u518D\u5B9A\u7FA9\u306E\u539F\u7406\u7684\u898F\u5247\u3001\u4F8B\u5916\u51E6\u7406\u306E\u539F\u7406\u7684\u898F\u5247\u306A\u3069\u3092\u63D0\u4F9B\u3059\u308B\u3002 DbC \u306F\u3001\u30D0\u30FC\u30C8\u30E9\u30F3\u30C9\u30FB\u30E1\u30A4\u30E4\u30FC\u306B\u3088\u3063\u3066\u63D0\u6848\u3055\u308C\u305F\u3002"@ja . . . . . . . . . . "\u041A\u043E\u043D\u0442\u0440\u0430\u043A\u0442\u043D\u043E\u0435 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 (design by contract (DbC), programming by contract, contract-based programming) \u2014 \u044D\u0442\u043E \u043C\u0435\u0442\u043E\u0434 \u043F\u0440\u043E\u0435\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u043D\u043E\u0433\u043E \u043E\u0431\u0435\u0441\u043F\u0435\u0447\u0435\u043D\u0438\u044F. \u041E\u043D \u043F\u0440\u0435\u0434\u043F\u043E\u043B\u0430\u0433\u0430\u0435\u0442, \u0447\u0442\u043E \u043F\u0440\u043E\u0435\u043A\u0442\u0438\u0440\u043E\u0432\u0449\u0438\u043A \u0434\u043E\u043B\u0436\u0435\u043D \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0438\u0442\u044C \u0444\u043E\u0440\u043C\u0430\u043B\u044C\u043D\u044B\u0435, \u0442\u043E\u0447\u043D\u044B\u0435 \u0438 \u0432\u0435\u0440\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u0435\u043C\u044B\u0435 \u0441\u043F\u0435\u0446\u0438\u0444\u0438\u043A\u0430\u0446\u0438\u0438 \u0438\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043E\u0432 \u0434\u043B\u044F \u043A\u043E\u043C\u043F\u043E\u043D\u0435\u043D\u0442\u043E\u0432 \u0441\u0438\u0441\u0442\u0435\u043C\u044B. \u041F\u0440\u0438 \u044D\u0442\u043E\u043C, \u043A\u0440\u043E\u043C\u0435 \u043E\u0431\u044B\u0447\u043D\u043E\u0433\u043E \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u0430\u0431\u0441\u0442\u0440\u0430\u043A\u0442\u043D\u044B\u0445 \u0442\u0438\u043F\u043E\u0432 \u0434\u0430\u043D\u043D\u044B\u0445, \u0442\u0430\u043A\u0436\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u044E\u0442\u0441\u044F \u043F\u0440\u0435\u0434\u0443\u0441\u043B\u043E\u0432\u0438\u044F, \u043F\u043E\u0441\u0442\u0443\u0441\u043B\u043E\u0432\u0438\u044F \u0438 \u0438\u043D\u0432\u0430\u0440\u0438\u0430\u043D\u0442\u044B. \u0414\u0430\u043D\u043D\u044B\u0435 \u0441\u043F\u0435\u0446\u0438\u0444\u0438\u043A\u0430\u0446\u0438\u0438 \u043D\u0430\u0437\u044B\u0432\u0430\u044E\u0442\u0441\u044F \u00AB\u043A\u043E\u043D\u0442\u0440\u0430\u043A\u0442\u0430\u043C\u0438\u00BB \u0432 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u0443\u0441\u043B\u043E\u0432\u0438\u0439 \u0438 \u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043D\u043D\u043E\u0441\u0442\u0438 \u0432 \u0433\u0440\u0430\u0436\u0434\u0430\u043D\u0441\u043A\u043E-\u043F\u0440\u0430\u0432\u043E\u0432\u044B\u0445 \u0434\u043E\u0433\u043E\u0432\u043E\u0440\u0430\u0445."@ru . . "\u5951\u7EA6\u5F0F\u8BBE\u8BA1"@zh . "\u5951\u7EA6\u5F0F\u8BBE\u8BA1\uFF08\u82F1\u8A9E\uFF1ADesign by Contract\uFF0C\u7E2E\u5BEB\u70BA DbC\uFF09\uFF0C\u4E00\u79CD\u8BBE\u8BA1\u8BA1\u7B97\u673A\u8F6F\u4EF6\u7684\u65B9\u6CD5\u3002\u8FD9\u79CD\u65B9\u6CD5\u8981\u6C42\u8F6F\u4EF6\u8BBE\u8BA1\u8005\u4E3A\u8F6F\u4EF6\u7EC4\u4EF6\u5B9A\u4E49\u6B63\u5F0F\u7684\uFF0C\u7CBE\u786E\u7684\u5E76\u4E14\u53EF\u9A8C\u8BC1\u7684\u63A5\u53E3\uFF0C\u8FD9\u6837\uFF0C\u4E3A\u4F20\u7EDF\u7684\u62BD\u8C61\u6570\u636E\u7C7B\u578B\u53C8\u589E\u52A0\u4E86\u5148\u9A8C\u6761\u4EF6\u3001\u540E\u9A8C\u6761\u4EF6\u548C\u4E0D\u53D8\u5F0F\u3002\u8FD9\u79CD\u65B9\u6CD5\u7684\u540D\u5B57\u91CC\u7528\u5230\u7684\u201C\u5951\u7EA6\u201D\u6216\u8005\u8BF4\u201C\u5951\u7EA6\u201D\u662F\u4E00\u79CD\u6BD4\u55BB\uFF0C\u56E0\u4E3A\u5B83\u548C\u5546\u4E1A\u5951\u7EA6\u7684\u60C5\u51B5\u6709\u70B9\u7C7B\u4F3C\u3002 \u56E0\u4E3A\u201CDesign by Contract\u201D\u662F\u5C5E\u4E8EEiffel Software\u7684\u6CE8\u518C\u5546\u6807\uFF0C\u5F88\u591A\u5F00\u53D1\u4EBA\u5458\u7528\u5951\u7D04\u5F0F\u7DE8\u7A0B\uFF08Programming by Contract\uFF09\uFF0C\u5951\u7D04\u7DE8\u7A0B\uFF08Contract Programming\uFF09\uFF0C\u6216\u8005\u5951\u7D04\u512A\u5148\u5F0F\u958B\u767C\uFF08Contract-First development\uFF09\u6765\u6307\u4EE3\u8FD9\u79CD\u65B9\u6CD5\u3002\u5FAE\u8EDF\u4E5F\u63A1\u7528\u9019\u7A2E\u8A2D\u8A08\u65B9\u6CD5\uFF0C\u7A31\u70BA\u7A0B\u5F0F\u78BC\u5408\u7D04\uFF08Code Contracts\uFF09\u3002"@zh . "Design by contract (DbC), also known as contract programming, programming by contract and design-by-contract programming, is an approach for designing software. It prescribes that software designers should define formal, precise and verifiable interface specifications for software components, which extend the ordinary definition of abstract data types with preconditions, postconditions and invariants. These specifications are referred to as \"contracts\", in accordance with a conceptual metaphor with the conditions and obligations of business contracts."@en . "El dise\u00F1o por contrato es una metodolog\u00EDa para el dise\u00F1o e implementaci\u00F3n de aplicaciones y componentes popularizada por el lenguaje de programaci\u00F3n Eiffel. Consiste en considerar los elementos de dise\u00F1o como participantes de una relaci\u00F3n similar al contrato de negocios. As\u00ED, se pueden dise\u00F1ar los componentes dando por supuesto que se cumplir\u00E1n ciertas condiciones de entrada (precondiciones), mientras que se deber\u00E1n garantizar ciertas condiciones de salida (postcondiciones), as\u00ED como la invariante de clase (propiedades que se mantienen invariantes a pesar del procesamiento realizado por el componente)."@es . . . . "Dise\u00F1o por contrato"@es . . . "\u5951\u7D04\u30D7\u30ED\u30B0\u30E9\u30DF\u30F3\u30B0"@ja . . . "Programowanie kontraktowe"@pl . . "Perkontrakta programado"@eo . . . . . . "Perkontrakta programado estas paradigmo kiu permesas fari komputilajn programojn pli sekuraj dank'al aldono de reguloj. Plej kutime la reguloj estas aldonataj sur la signaturo de funkcio a\u016D proceduro. Temas pri: \n* prekondi\u0109oj : indikas ke la parametroj kaj la \u0109irkaua\u0135o devas respekti regulojn anta\u016D ol oni vokas la funkcion \n* postkondi\u0109oj : indikas ke la funkcio garantias ke la regulo estos vera post la alvoko de la funkcio \n* nevarianto : indikas ke io estas \u0109iam vera, do anta\u016D kaj post la voko de la funkcio. Ekzemple, se oni volas skribi funkcion por kalkuli logaritmon oni povus diri ke \n* prekondi\u0109o estas, ke la parametro estas pli granda ol 0 \n* postkondi\u0109o povus esti ekzemple ke Eksponenta funkcio aplikata al la rezulto redonas la parametron. La tradukilo decidas, kion oni faras de tiuj kondi\u0109oj: \n* kelkaj kapablas kontroli evidentajn kondi\u0109ojn dum tradukado (ekzemple se vi skribas x = -1; y = log(x), evidenti\u011Das ke la prekondi\u0109o ne estas vera) \n* plimulto da tradukiloj simple aldonas kontrolon en la komenco kaj fino de la funkcio, kiuj kontrolas dum la programo funkcias, kaj se kondi\u0109o ne veras, interompas la programon (sed kiam la programado estas finita oni demandas al tradukilo forvi\u015Di la testojn por ke la programo laboru pli rapide). Eiffel estas el la plej unuaj programlingvoj kiuj denaske permesas perkontraktan programadon. Tamen ekzistas anka\u016D bibliotekoj permesante programi per kontrakto kun plej kutimaj programlingvoj, ekzemple en Java.Programlingvoj kiel C kaj Java nun proponas la funkcion assert kun la sama celo, sed tio ne estas tute simila: assert povas aperi ie ajn en la funkcio. Tute male, kontraktoj estas deklarataj je la komenco de la funkcio, ili estas parto de \u011Dia signaturo kaj dank'al tio estas bonaj indikiloj por programistoj kiuj poste uzas la funkcion, por kompreni kiel uzi \u011Din."@eo . . . . . . . "1120933791"^^ . . . . . . . . . . "\u041A\u043E\u043D\u0442\u0440\u0430\u043A\u0442\u043D\u043E\u0435 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 (design by contract (DbC), programming by contract, contract-based programming) \u2014 \u044D\u0442\u043E \u043C\u0435\u0442\u043E\u0434 \u043F\u0440\u043E\u0435\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u043D\u043E\u0433\u043E \u043E\u0431\u0435\u0441\u043F\u0435\u0447\u0435\u043D\u0438\u044F. \u041E\u043D \u043F\u0440\u0435\u0434\u043F\u043E\u043B\u0430\u0433\u0430\u0435\u0442, \u0447\u0442\u043E \u043F\u0440\u043E\u0435\u043A\u0442\u0438\u0440\u043E\u0432\u0449\u0438\u043A \u0434\u043E\u043B\u0436\u0435\u043D \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0438\u0442\u044C \u0444\u043E\u0440\u043C\u0430\u043B\u044C\u043D\u044B\u0435, \u0442\u043E\u0447\u043D\u044B\u0435 \u0438 \u0432\u0435\u0440\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u0435\u043C\u044B\u0435 \u0441\u043F\u0435\u0446\u0438\u0444\u0438\u043A\u0430\u0446\u0438\u0438 \u0438\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043E\u0432 \u0434\u043B\u044F \u043A\u043E\u043C\u043F\u043E\u043D\u0435\u043D\u0442\u043E\u0432 \u0441\u0438\u0441\u0442\u0435\u043C\u044B. \u041F\u0440\u0438 \u044D\u0442\u043E\u043C, \u043A\u0440\u043E\u043C\u0435 \u043E\u0431\u044B\u0447\u043D\u043E\u0433\u043E \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u0430\u0431\u0441\u0442\u0440\u0430\u043A\u0442\u043D\u044B\u0445 \u0442\u0438\u043F\u043E\u0432 \u0434\u0430\u043D\u043D\u044B\u0445, \u0442\u0430\u043A\u0436\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u044E\u0442\u0441\u044F \u043F\u0440\u0435\u0434\u0443\u0441\u043B\u043E\u0432\u0438\u044F, \u043F\u043E\u0441\u0442\u0443\u0441\u043B\u043E\u0432\u0438\u044F \u0438 \u0438\u043D\u0432\u0430\u0440\u0438\u0430\u043D\u0442\u044B. \u0414\u0430\u043D\u043D\u044B\u0435 \u0441\u043F\u0435\u0446\u0438\u0444\u0438\u043A\u0430\u0446\u0438\u0438 \u043D\u0430\u0437\u044B\u0432\u0430\u044E\u0442\u0441\u044F \u00AB\u043A\u043E\u043D\u0442\u0440\u0430\u043A\u0442\u0430\u043C\u0438\u00BB \u0432 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u0443\u0441\u043B\u043E\u0432\u0438\u0439 \u0438 \u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043D\u043D\u043E\u0441\u0442\u0438 \u0432 \u0433\u0440\u0430\u0436\u0434\u0430\u043D\u0441\u043A\u043E-\u043F\u0440\u0430\u0432\u043E\u0432\u044B\u0445 \u0434\u043E\u0433\u043E\u0432\u043E\u0440\u0430\u0445."@ru . . . . . . . . . . "Design by contract (in sigla: DBC ) o progettazione per contratto \u00E8 una metodologia per progettare il software. Prescrive che i progettisti di software debbano definire specifiche precise e verificabili delle interfacce dei componenti software, basandosi sulla teoria dei tipi di dati astratti e sulla metafora di un contratto legale."@it .